JavaScript 中的.的除法问题?

vara="62223.56";varc=a%10000这样写好象报错,有问题?该怎么除?varTotalValue="12345.23";varTouzi;touzi=... var a="62223.56";
var c=a%10000
这样写好象报错,有问题?
该怎么除?
var TotalValue="12345.23";
var Touzi;
touzi=parseFloat(TotalValue)%10000;
alert(touzi);答案是2315.229
为什么啊?
展开
 我来答
bdlb0116
推荐于2018-02-28 · TA获得超过576个赞
知道小有建树答主
回答量:178
采纳率:0%
帮助的人:253万
展开全部
a是字符串,怎么能运算呢?用parseFloat将字符串转化为浮点数再进行计算。
具体修改如下:
var a = "62223.56";
var c = parseFloat(a) % 10000;

浮点型在内存中并不一定就是按照想想中那样保存的。
多多少少会有不同。不如说0.23在内存中可能是以0.222222222229的形式保存的。或者是以0.230000000000000001的形式保存的。这种现象目前我还不知道怎么避免。但是用浮点型有可能就会产生这样的结果。
百度网友2571d37bb
推荐于2016-09-03 · 知道合伙人软件行家
百度网友2571d37bb
知道合伙人软件行家
采纳数:1971 获赞数:7905
前端工程师

向TA提问 私信TA
展开全部
javascript中的除法问题:
计算一下:
8.80 * 100 * 12 / 100
结果:105.60000000000002
38.80也会出现类似的问题。
精确度增加10倍:
8.80 * 1000 * 12 / 1000
结果:105.6
正常了。
16.40 * 1000000 * 6 / 1000000
结果也有问题
为了让js执行的更准确,在以后的js小数计算中直接将值扩大10000倍,再除以10000,就可以解决问题。
var num = 38.80;
var num2 = 13;
alert(num * 10000 * 12 / 10000);
被乘和除的这个数经过测试10000最合适,小了有些数字出问题,大了(1000000)有些数字也出问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a7f2d88e7
2008-11-13 · 超过25用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:80.1万
展开全部
不用parseFloat
也行
因为你是数字格式的字符串
所以你a = a - 0;
就可以转换成数字类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式