JavaScript中浮点数的除法
Division of float numbers in JavaScript
我试图用一个变量除以屏幕宽度,以便在webview中绘制等距的UI部分。
然而,当变量为3时,在JavaScript中,100/3会产生33.3333333333336,第三部分无法按预期绘制,因为商的总和大于100%,I gusss。
这个问题有什么好的解决办法吗?
您可以指定除法的精度:
var width = (100 / 3).toPrecision(3);
你能做的最好的事情就是尽可能靠近:
(100 / 3).toFixed(2)
为三个切片中的两个切片获取尽可能接近的宽度。从以像素为单位的目标宽度中减去它们的实际宽度之和,得到第三个切片的宽度。它可能比其他切片宽或窄一到两个像素,但对于任何合理的屏幕分辨率来说,这都是不可见的。
您可以进行
Math.floor(100/3);
它总是将小数四舍五入到较小的最接近的整数,所以在您的情况下,它会将其四舍五进到33。
100*(1/3)将返回33.33333333333333。
注:
1/3*100返回33.33333333333333
但是
100*1/3返回33.333333333333336
所以使用括号是为了安全。
相关文章:
- 将浮点数排序为自然数
- 使用javascript从字符串中提取浮点数
- 为大型地理位置的坐标生成浮点数
- 如何使用Javascript使浮点数的精度相同
- 从字符串到浮点数的奇怪转换
- 如何将浮点数格式化为两位数
- 浮点数的总和在 JavaScript 中没有给出小数
- 如何使用 javascript 将浮点数格式化为十进制数(7)
- HTML浮点数字字段具有高精度,但呈现四舍五入值
- 使用浮点数获取基于数组的y轴最大/最小值
- 只允许带有退格和左右箭头的浮点数
- javascript正则表达式浮点数,以字符串结尾
- 在AngularJS中格式化浮点数而不丢失精度
- 如何通过 javascript 在浮点数中保留小数点数后的 2 位数字
- 在Javascript中,大浮点数的小数位数有限制吗
- 正则表达式用于逗号分隔浮点数的列表
- 谷歌条形图无法显示浮点数
- 如何在 javascript 中进行整数除法(在 int 而不是浮点数中获取除法答案)
- JavaScript中浮点数的除法
- 两个浮点数的安全除法