我有一个自己制作的网格系统,我必须计算一列的每个大小.
在每个row
拟合12
列中.我将在下面给出的每个示例代码都是这种情况.
在计算网格大小的百分比时,这些数字并不总是整数,大多数情况如下:
99.98029427220177
100.01970572779821
100.0146484375
100.009765625
100.01464843750001
100.00976562499999
Run Code Online (Sandbox Code Playgroud)
当我Math.floor
在javascript 使用时,我得到这个:
94
96
98
99
98
99
Run Code Online (Sandbox Code Playgroud)
这就是我想要的:
100
100
100
100
100
100
Run Code Online (Sandbox Code Playgroud)
所以全部四舍五入到整个百分比.
有两种方法可以实现此目的。
在这里我将简要介绍一下:
(99.790980).toFixed() # => "100"
(99.790980).toFixed(1) # => "99.8"
(100.23232).toFixed() # => "100"
(100.23232).toFixed(1) # => "100.2"
Run Code Online (Sandbox Code Playgroud)
大多数时候,这些值被塞进DOM
. 在场景下,数字被转换为toString()
浏览器将其绘制到屏幕上。这是一个非常简单的内置 API Number
。请记住,您将获得 aString
作为返回值。如果您想将其转换回类型Number
以继续数学,那么您可以使用以下模式:
function preciseMathDotRound(value, precision = 0) {
return parseFloat(value.toFixed(precision));
}
// preciseMathDotRound(99.919191) == 100
// preciseMathDotRound(99.919191, 1) == 99.9
Run Code Online (Sandbox Code Playgroud)
Math.round 是用于舍入数字的数学 API。API 不包含精度,因此仅四舍五入到最接近的整数。返回值是一个数字。
数学.round(99.790980) # => 100 数学.round(100.23232) # => 100
归档时间: |
|
查看次数: |
6354 次 |
最近记录: |