首页 新闻 会员 周边

将数字格式转换123456 转换为 12万3千456

-1
悬赏园豆:5 [已解决问题] 解决于 2016-08-10 16:02

将数字格式转换123456 转换为 12万3千456

无风夜的主页 无风夜 | 初学一级 | 园豆:197
提问于:2016-08-06 14:12
< >
分享
最佳答案
0

input = 123456

output = str(input /10000)+'万'+str((input %10000)/1000) +'千'+str((input %10000)%1000)

收获园豆:2
J123456 | 菜鸟二级 |园豆:206 | 2016-08-06 16:53

python实现

J123456 | 园豆:206 (菜鸟二级) | 2016-08-06 16:54
其他回答(4)
-1

从设计上考虑,你需要考虑程序不仅要实现

123456 转换为 12万3千456,还要考虑

1. 123456 转换为 12万3456

2. 123456 转换为 123,456

3. 123456 转换为 123,456.00

4. 123456 转换为 十二万三千四百五十六

5. 123456 转换为 十贰万叁仟肆佰伍拾陆元

....

waiter | 园豆:1000 (小虾三级) | 2016-08-06 22:47
0

转换成字符串按长度分解得到依次对应的值进行拼接

侯光辉 | 园豆:215 (菜鸟二级) | 2016-08-07 11:48
1

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());//输出缓冲的结果

收获园豆:3
zzjbook | 园豆:215 (菜鸟二级) | 2016-08-07 15:44
0

这玩意儿叫:贪心算法???

顾晓北 | 园豆:10891 (专家六级) | 2016-08-08 10:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册