final static String CARRY_SHI = "拾";
final static String CARRY_BAI = "佰";
final static String CARRY_QIAN = "仟";
final static String CARRY_WAN = "万";
final static String CARRY_YI = "亿";
final static String CUR_YUAN = "元";
final static String CUR_FEN = "分";
final static String CUR_JIAO = "角";
final static String[] digits = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌",
"玖", };
public static String getValueOfCurrency2CN(String priValue) {
String value = String.valueOf(priValue);
int dot_pos = String.valueOf(value).indexOf('.');
String int_value;
String fraction_value;
if (dot_pos == -1) {
int_value = value;
fraction_value = "00";
}
else {
int_value = value.substring(0, dot_pos);
fraction_value = value.substring(dot_pos + 1, priValue.length())
+ "00".substring(0, 2);
}
StringBuffer cn_currency = new StringBuffer();
int len = int_value.length();
boolean zero_flag = false;
// if (len == 16)
// int_value.substring(0, 15);
if (len > 12 && len <= 16) {
String temp = int_value.substring(0, len - 12);
if (Integer.parseInt(temp) != 0) {
cn_currency
.append(cell2CH(int_value.substring(0, len - 12), zero_flag))
.append(CARRY_WAN);
}
int_value = int_value.substring(len - 12, len);
len = 12;
zero_flag = true;
}
if (len > 8 && len <= 12) {
String temp = int_value.substring(0, len - 8);
if (Integer.parseInt(temp) != 0) {
cn_currency.append(cell2CH(int_value.substring(0, len - 8), zero_flag))
.append(CARRY_YI);
}
int_value = int_value.substring(len - 8, len);
len = 8;
}
if (len > 4 && len <= 8) {
// zero_flag = false;
String temp = int_value.substring(0, len - 4);
if (Integer.parseInt(temp) != 0) {
cn_currency.append(cell2CH(int_value.substring(0, len - 4), zero_flag))
.append(CARRY_WAN);
}
int_value = int_value.substring(len - 4, len);
len = 4;
zero_flag = true;
}
cn_currency.append(cell2CH(int_value.substring(0, len), zero_flag));
if (!cn_currency.toString().equals("")) {
cn_currency.append(CUR_YUAN);
}
int t = Character.getNumericValue(fraction_value.charAt(0));
if (t != 0) {
cn_currency.append(digits[t]).append(CUR_JIAO);
}
t = Character.getNumericValue(fraction_value.charAt(1));
if (t != 0) {
cn_currency.append(digits[t]).append(CUR_FEN);
}
String returnVaule = cn_currency.toString();
returnVaule = StringUtils.replace(returnVaule, "零零", "零");
returnVaule = StringUtils.replace(returnVaule, "零元", "元");
returnVaule = StringUtils.replace(returnVaule, "零万", "万");
returnVaule = StringUtils.replace(returnVaule, "零亿", "亿");
if (!returnVaule.endsWith(CUR_FEN)) {
returnVaule = returnVaule + "整";
}
return returnVaule;
}
在自动存款机上面存钱,机器点钞结束后会让你确定数目是否正确,如果正确的话就把钱存进去,如果不正确的话可以选择取消存款,然后就会把钱退回来。可以把钱取出再自己数一下,看看是不是自己点错了。但是如果已经存进去了,就只能给银行客服打电话,说一下情况,看一下如何处理。如果当天确实有多入账一百元的话,是会通知你退回的。
自动取款机会不会出错:
自动存款机一般情况下是不会输错的,但是凡事没有绝对的,只是出错的几率比较小,有的时候钞票不是很规整可能会导致出现这样的情况。
自动存款机正常情况下是不会数错的,按ATM机安装工程师所说的,ATM机出错的概率在十万分之一以下,这个概率已经可以约等于0了,当然概率低,并不是就没有可能,但是ATM机还会给你复核的机会,所以这就把概率进一步降低了。并且ATM有多组传感器计数,如果通道内几组计数不一致,会回收钞票。同时,钞票的厚度也是一定的数值,LVDT单元可防止钞票粘连造成厚度不一致导致的多出钞。国内ATM应人行规定,加装了冠字号记录装置,每一张钞票都可追溯。
在ATM机存时,你放入钱机子点完后,会有页面提示你存入的是多少现金,如果你感觉ATM数错了,你是可以点击取消的,这样这个钱会退出来,你可以自己在复核一遍;只有当你点击确认,ATM机子才会真正把钱存入你的账户。
ATM机使用指南:
1、客户可持卡到自动存取款机上,按机器界面提示进行相关业务操作。
2、退卡后30秒内不取卡的话会被吞卡;退卡后,若还要办理自助业务,应先把卡取出,再按正常步骤进行操作,若直接把卡推入,则会被吞卡。
3、在自动存取款机上输入的密码为取款密码,并且要求输入的密码为6位数,若密码不足6位的,在后面加0补足6位。建议客户将取款密码设成6位,若取款密码不足6位,可能在异地自动取款机上不能取款。
4、在网点自动存取款机上被吞卡的,请与网点人员联系。在非网点自动存取款机上被吞卡的,可拨银行服务电话与座席人员联系。
5、在自动存取款机上进行业务交易发生异常时,如卡上钱已扣但未吐钞、被吞卡但没有打印客户通知单等,请马上与网点或发卡行客户服务中心联系。与网点联系可以使用在ATM或自助取款机旁边的紧急联络器。也可拨打发卡行的客服电话寻求帮助。
6、不要轻信贴在自动存取款机边上要求客户进行指定操作的“通知”或“通告”。