【js】金钱格式化(每三位逗号分隔)的方法

JavaScript010

【js】金钱格式化(每三位逗号分隔)的方法,第1张

我们在日常开发中后台返回的金钱常常只是一个数字,比如12345.67,这时需要做一下转化,把它变成12,345.67这样的金钱格式,我想到的方法如下:

整体思路就是先拿到数据后,先把它当成字符串处理,通过小数点,分开整数和小数部分,然后处理整数部分,如果整数部分小于等于3位,直接用就可以啦,如果大于3位,那么就把这个整数最后3位先存起来且前面加上逗号,然后割掉这个整数的这3位,继续重复这个判断,每次截取的后三位都拼到上一次截取结果的前面,直到整数部分小于等于三位了,就可以和存储的结果拼在一起,再拼上小数部分就可以啦。

希望大家能有更好的方法~

我学c++的 给你个最优算法! 只需25次 一个循环就Ok;

100元 100只鸡 ,公鸡3元一只,母鸡1元一只,小鸡1元3只;

解:设x为公鸡 ,y为母鸡,z为小鸡

9x + 3y + z = 300 (1)

x + y + z = 100(2)

由(1)得 z = 300 - 9x - 3y, 代入(2),得:

x + y + 300 - 9x - 3y = 100(3)

由(3)可得:

y = 100 - 4x = 4(25-x)

因此, y一定是4的倍数

而且y >= 0

即4(25-x) >= 0

所以x <= 25

最后推理结论:

公鸡: x <= 25

母鸡: y 一定是4的倍数

小鸡: z 一定是3的倍数

对公鸡和母鸡进行循环的算法应该是最优的。

void main()

{

int y,z

for (int x=0x<=25x++)

{

y=100-4*x

z=100-x-y

cout<<"公鸡:"<<x<<"母鸡:"<<y<<"小鸡"<<z<<endl

}

}

希望是最佳答案~~~