首页 > 解决方案 > 确定数字的精度,包括尾随零

问题描述

我怀疑这是不可能的,但试一试:

是否可以确定数字的小数点数,无论这些小数点是否为尾随零?

getPrecision(3) // 0
getPrecision(3.2) // 1
getPrecision(2.30) // 2

对于前两种情况,我找到了几个解决方案(包括:如何在 Javascript 中获取浮点数的小数位?),但对于最后一种情况没有。转换3.20为字符串会导致"3.2",这无济于事,而且我已经没有想法了。

标签: javascriptfloating-pointnumbersprecision

解决方案


是的,这是可能的,但只有一个技巧

首先,根据您的问题陈述,如果您要求 javascript 将您的浮点值拆分并计数为 2 个整数,那么它将不包括它的尾随 0。

让我们在这里用一个技巧来满足我们的要求;)

在下面的函数中,您需要以字符串格式传递一个值,它将完成您的工作

function getPrecision(value){
a = value.toString()
console.log('a ->',a)
b = a.split('.')
console.log('b->',b)
return b[1].length

getPrecision('12.12340') // Call a function

例如,运行以下逻辑

value = '12.12340'
a = value.toString()
b = a.split('.')
console.log('count of trailing decimals->',b[1].length)

而已!只需以字符串格式传递您的浮点值,您就完成了! 谢谢!


推荐阅读