B2延期费是290刀还是375刀???# Reunion - 探亲与陪读c*g2014-01-14 08:011 楼请问bloomberg的那到题目, 给一个数float, 输出char*, 比如12345.67 输出12,345.67这个题目怎么做? 小数部分怎么处理? 有什么trick和trap的地方?谢谢了.
s*t2014-01-14 08:014 楼int?67【在 c***g 的大作中提到】: 请问bloomberg的那到题目, 给一个数float, 输出char*, 比如12345.67 输出12,345.67: 这个题目怎么做? 小数部分怎么处理? 有什么trick和trap的地方?: 谢谢了.
r*o2014-01-14 08:019 楼这道题是说整数部分要每3位加一个,么?小数部分呢?345.67【在 c***g 的大作中提到】: 请问bloomberg的那到题目, 给一个数float, 输出char*, 比如12345.67 输出12,345.67: 这个题目怎么做? 小数部分怎么处理? 有什么trick和trap的地方?: 谢谢了.
y*i2014-01-14 08:0112 楼小数部分是不是可以这么做?float a = 12345.67;float foa = a-(int)a;const int nfoa = 2;char szfoa[nfoa+1];memset(szfoa, 0, nfoa+1);for (int i = 0; i < nfoa; ++i){foa *= 10;szfoa[i] = '0'+(int)foa;foa -= (int)foa;}if ((int)(foa*10) > 4)++szfoa[nfoa-1];345.67【在 c***g 的大作中提到】: 请问bloomberg的那到题目, 给一个数float, 输出char*, 比如12345.67 输出12,345.67: 这个题目怎么做? 小数部分怎么处理? 有什么trick和trap的地方?: 谢谢了.
h*x2014-01-14 08:0113 楼float能简单一些,要是double就麻烦一些吧。345.67【在 c***g 的大作中提到】: 请问bloomberg的那到题目, 给一个数float, 输出char*, 比如12345.67 输出12,345.67: 这个题目怎么做? 小数部分怎么处理? 有什么trick和trap的地方?: 谢谢了.
f*r2014-01-14 08:0116 楼我觉得是这样做:1. 用个floor function把整数部分和小数部分分开。2. 整数部分除10,余数就是最低位。然后把剩下的结果再除10,直到除尽得到最高位。反过来打印,每三位加入逗号。3. 小数部分乘10,得到的整数部分就是小数部分的最高位。然后把剩下的结果再乘10,直到达到要求的精度。完毕。
m*u2014-01-14 08:0117 楼正解10【在 f**r 的大作中提到】: 我觉得是这样做:: 1. 用个floor function把整数部分和小数部分分开。: 2. 整数部分除10,余数就是最低位。然后把剩下的结果再除10,直到除尽得到最高位: 。反过来打印,每三位加入逗号。: 3. 小数部分乘10,得到的整数部分就是小数部分的最高位。然后把剩下的结果再乘10: ,直到达到要求的精度。: 完毕。