js 计算问题求大神
functiontest(a,b){varc=0.00;if(a!=0.00&&b!=0.00){c=(a/b).toFixed(2);}returnc;}如果a或者b为...
function test(a,b){
var c = 0.00;
if(a != 0.00&&b!=0.00){
c = (a/b).toFixed(2);
}
return c;
}
如果a或者b为0怎么返回0.00,如果是千位怎么再加上千位分割符
上面写的没用
另外,如果a为1,375.00 b 为0 直接NaN了
求大神帮忙看下 展开
var c = 0.00;
if(a != 0.00&&b!=0.00){
c = (a/b).toFixed(2);
}
return c;
}
如果a或者b为0怎么返回0.00,如果是千位怎么再加上千位分割符
上面写的没用
另外,如果a为1,375.00 b 为0 直接NaN了
求大神帮忙看下 展开
展开全部
/**
* 计算两个值的商,结果按照字符串输出,含千分位,含两位小数
* 输入值可以是数字或者字符串
**/
function test(a,b){
//输入全部按照字符串处理,涉及到千分号.
if(typeof a == "number"){
a = a.toFixed(2);
}
a = a.toString().replace(/,/,"");
b = b.toString().replace(/,/,"");
var c = 0.00;
var f_a = parseFloat(a);
var f_b = parseFloat(b);
if(f_a == 0 || f_b== 0){
return "0.00";
}
c = (f_a/f_b).toFixed(2); //已经得到了c
//下面是处理增加千分号的代码
var d = [];
var c_length = c.length;
//处理小数点后面的输出
for(var i=0;i<c_length && i<3;i++){
d.push(c[c_length -1 - i]);
}
//处理小数点前面的输出
for(var i=0;i<c_length-3;i++){
d.push(c[c_length -4 -i]);
if(i%3==2){
d.push(",");
}
}
return d.reverse().join("");
}
console.log(test("11,222.00","1.00") == "11,222.00");
console.log(test("11,222.00","2.00") == "5,611.00");
console.log(test("0","0") == "0.00");
console.log(test(0,0) == "0.00");
console.log(test("0","0.00") == "0.00");
console.log(test("0","00") == "0.00");
console.log(test("23.00","23") == "1.00");
console.log(test("23.0000","23") == "1.00");
console.log(test("230.00","23") == "10.00");
console.log(test(230.00,"23") == "10.00");
console.log(test(230.00,23) == "10.00");
console.log(test("1,375.00",0) == "0.00");
测试结果:
D:\>node test.js
true
true
true
true
true
true
true
true
true
true
true
更多追问追答
追问
谢谢哈 ,再请教下
因为我结果要加上%,如果直接把结果乘以100,0.00的时候 直接为0%了,程序里 该怎么改?
追答
function test(a,b){
........
var c = 0.00;
var f_a = parseFloat(a);
var f_b = parseFloat(b);
if(f_a == 0 || f_b== 0){
return "0.00%";
}
c = (f_a/f_b).toFixed(2); //已经得到了c
//下面是处理增加千分号的代码
var d = ["%"];
var c_length = c.length;
//处理小数点后面的输出
.........
}
展开全部
怎么返回0.00
else c=0;
千位分隔符的话不是应该自动加的么?没有的话,c是只能存储数据的,千位分隔符的话属于文字格式
else c=0;
千位分隔符的话不是应该自动加的么?没有的话,c是只能存储数据的,千位分隔符的话属于文字格式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有经历过你的人生的人,他无权来评判你的对与错,好与坏,因为他不是你。他不懂得你内心经历的一切狂风暴雨,更不懂得你的世界里所走过的惊心动魄的时刻。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询