将数字格式转换123456 转换为 12万3千456
input = 123456
output = str(input /10000)+'万'+str((input %10000)/1000) +'千'+str((input %10000)%1000)
python实现
从设计上考虑,你需要考虑程序不仅要实现
123456 转换为 12万3千456,还要考虑
1. 123456 转换为 12万3456
2. 123456 转换为 123,456
3. 123456 转换为 123,456.00
4. 123456 转换为 十二万三千四百五十六
5. 123456 转换为 十贰万叁仟肆佰伍拾陆元
....
转换成字符串按长度分解得到依次对应的值进行拼接
Java代码,
//建立单位字典
Map<Integer, String> map = new TreeMap<>();
map.put(3, "千");
map.put(4, "万");
map.put(8, "亿");
map.put(12, "万亿");
//获取输入的数字的字符串
String str = Integer.toString(123456789).trim();
//建立输出的缓冲
StringBuilder s = new StringBuilder();
int length = str.length();
for (int i = length - 1; i >= 0; i--) {
String t = map.get(length - i);//在字典中查找
if (t != null)//判断字典中是否存在
s.insert(0, t);
s.insert(0, str.charAt(i));
}
System.out.println(s.toString());//输出缓冲的结果
这玩意儿叫:贪心算法???