用C++编程:人民币输出格式为:RMB1,234,567.89
编写 RMBFormat 函数,将输入数据按此格式输出。
键入数据如:1234567.89
/**
* 输入一个double的数值,返回一个字符串
* @param d 要转换的数值
*/
public static String RMBFormat(double d) {
String result = ""; //保存最终结果的字符串
String str = d + ""; //double转换成字符串
String dotStr = str.substring(str.indexOf('.')); //取小数的字符串,不用处理
String intStr = str.substring(0, str.indexOf('.')); //取整数的字符串,需要后面处理
int high = intStr.length() % 3; //RMB表示以千为分隔,取到最高位的','前面的字符串
int last = intStr.length() / 3; //计算剩下的有几个3位
result += intStr.substring(0, high); //把最高位加到最终结果
intStr = intStr.substring(high, intStr.length()); //取剩下需要处理的子串
for (int i=0; i<last; i++) { //循环处理子串
result += intStr.substring(0, 3);
if (!(i == last -1)) { //每3位加',',但是最后不加
result += ",";
}
intStr = intStr.substring(3, intStr.length()); //取子串
}
result += dotStr; //加上小数字符串,生成最终结果
return result;
}
DecimalFormat df=new DecimalFormat("RMB ###,###,###.##");
System.out.println(df.format(1234567.89));
请问是哪一门编程语言? C#?Java?PHP
刚看到了,随手写了下,可能还有bug,是个思路,只处理字符串