如何检查一个数字是不是有两位小数并在必要时保留尾随零?

     2023-04-14     287

关键词:

【中文标题】如何检查一个数字是不是有两位小数并在必要时保留尾随零?【英文标题】:How to check if a number has two decimal places and keep the trailing zero if necessary?如何检查一个数字是否有两位小数并在必要时保留尾随零? 【发布时间】:2013-10-04 23:54:58 【问题描述】:

如果你有这些数字:

2

2.05

2.547

2.5

如何检查数字是否有两位小数?

如果它有 2 个小数,如何去掉第二个小数(四舍五入)但如果需要保留尾随的 0?

结果示例:

2.05 would end in 2.1
2.04 would end in 2.0
2.54 would end in 2.5

我知道您可以使用 toFixed(1),但这会将其转换为字符串。如果使用 parseInt() 将其转换为 int,它会丢失尾随的零

谢谢大家

【问题讨论】:

1.第2轮。根据需要格式化 使用.toFixed,它将浮点数四舍五入到指定的小数位数。 How do you round to 1 decimal place in Javascript? 的可能重复项 它必须是一个字符串,你不能有一个保持尾随 0 的浮点数,因为尾随 0 在浮点数中的意义较小,这就是为什么它们总是被丢弃。 你为什么要使用 parseInt,你应该使用 parseFloat。 parseInt 将字符串解析为整数,整数没有小数部分。即使那样2.0 仍会被解析为2 【参考方案1】:

但是 toFixed 把它变成一个字符串,如果你使用 parseInt 它会去掉尾随的零

你可以有一个数字,也可以有一个数字的表示,但没有第三种选择。

如果你想要一个数字的表示,那么字符串有什么问题?如果你想要一个数字,那么就没有“尾随零”。

由“2.0”表示的数字没有尾随零,因为只有表示可以有尾随零。数字 2 可以用或不用尾随零来表示,并且它是相同的数字。

那么:你想要一个数字还是一个表示?

我认为你一定想要一个表示,因为实际上只有表示可以有一些特定的小数位数。在这种情况下,为什么toString 不是正确的解决方案?

【讨论】:

【参考方案2】:

假设x 是您正在处理的值

var temp = Math.round(x * 10) / 10;   // This is the value as a number
document.write(temp.toFixed(1));      // writes the number in the desired format

在 JavaScript 中,值 1.5 和值 1.50 之间没有区别 - 作为数字,它们完全相同。只有当您将它们转换为字符串时,使用 toFixed() 之类的东西,它们才会变得不同。

【讨论】:

【参考方案3】:

我建议(这是基于的 HTML):

$('li').text(function(i,t)
    var rounded = t.split('.')[1] ? (Math.round(parseFloat(t) * 10)/10).toFixed(1) : t;
    return t + ' (' + rounded + ')';
);

JS Fiddle demo.

三元:

t.split('.')[1] ? (Math.round(parseFloat(t) * 10)/10).toFixed(1) : t;

评估是否有句点,如果有,那么我们将浮点数解析为一个数字,将其乘以 10(因为我们希望该数字保留一位小数),将该数字四舍五入,然后将其除以 10,然后用 @ 987654324@ 将数字截断到一位(正确舍入)小数位。

如果数字没有小数部分(它是整数,而不是浮点数),我们将不做任何处理,只需使用找到的现有数字。

这基于以下 HTML:

<ul>
    <li>2</li>
    <li>2.05</li>
    <li>2.547</li>
    <li>2.5</li>
    <li>2.04</li>
</ul>

【讨论】:

如何将一个数字保留到小数点后两位?

】如何将一个数字保留到小数点后两位?【英文标题】:Howtoflooranumbertotwodecimalplaces?【发布时间】:2021-06-0514:53:00【问题描述】:我正在尝试将双精度数据类型数字设置为小数点后两位,但当我输入150之类的数字时,我只能得到... 查看详情

excel设置了单元格格式为保留数字保留两位小数,可是怎么弄都是显示整数,没有显示小数。求助!

...0.00检查你的设置是否正确,如图所示:参考技术A你观察是不是单元格左上角有一个绿色的小三角,有这个绿色的小三角就没办法修改格式 参考技术B应该是单元格设置了数据有效性,将数据有效性清除就ok了 参考技术C把字号改小... 查看详情

如何保留两位有效数字?

保留两位有效数字,第一个不是0的数开始取两位,这个是整数不为0的小数的做法,当整数为0时,有所不同。比如:0.0123,保留两位小数,则为0.01。有效数字的舍入规则:1、当保留n位有效数字,若第n+1位数字≤4就舍掉。2、当保留n... 查看详情

保留两位有效数字是什么意思

通俗易懂的在数学中,有效数字是指在一个数中,从该数的第一个非零数字起,直到末尾数字止的数字称为有效数字,如0.618的有效数字有三个,分别是6,1,8。有效数字是指在分析工作中实际能够测量到的数字。能够测量到的是... 查看详情

数字不会保留两位小数

...后2位。我在代码中一直使用("N2"),除了标签中的一个区域外,它一直有效。我使用标签在Radiobutton()区域显示总金额,它仍然显示完整的数字eg.14.8282423432,而不是小数点后两位。 查看详情

excel如何实现小数点后保留两位有效数字?

比例,1.231变为1.23;1.236变成1.24;1.0231变成1.023;1.0236变成1.024;1.00231变成1.0023;1.00236变成1.0024.那些理解为保留两位小数的就不用回答了。谢谢!...比例,1.231变为1.23;1.236变成1.24;1.0231变成1.023;1.0236变成1.024;1.00231变成1.0023... 查看详情

input保留两位小数并且只能有一个小数点(代码片段)

...数字3.最多两位小数4.首位为小数点时,变成0.5.只能输入一个小数点 <template><inputclass="inputPrice":maxlength="maxLength"type="digit"v-model="currentPrice"@input="check 查看详情

1.4726保留整数保留一位小数保留两位小数保留三位小数各是多少

保留小数位的方法有3种,常用的和默认使用的保留有效数字位数的方法是四舍五入法,在一些特殊地方也会用到向下保留和向上保留有效数字,分别如下:1、四舍五入法保留整数:1保留1位小数:1.5保留2位小数:1.47保留3位小... 查看详情

我想在使用 DecimalFormat 时保留尾随零

...小数的格式(因为我需要用四位小数打印它们,这意味着一个简单的分配),即使所有原始双精度中小数点后的数字为0-与任何整数一样。我想我也许可以使用setMinim 查看详情

如何在oracle数据库中保留小数点后两位而且在java中保留两位插入到数据表中

请具体举个例子讲解一下更好使用numberNUMBER用于存储零、正数、定长负数以及浮点数。NUMBER数据类型可以以NUMBER(P,S)的形式来定义数字的精度和范围。这里:p表示精度(1-38),它表示存储在列中数字的总长度是p位:s表示范围,... 查看详情

将Javascript数字转换为两位小数[重复]

...题的主题,但似乎没有一个直接回答我的问题。无论长度如何,我都想将一个数字转换为两位小数。所以0.5应该变成0.50,5.3145应该变成5.31。最重要的是,我还需要将数字保留为数字数据 查看详情

javascript实现保留两位小数的多种方法

...留两位小数一位自动补零代码实例:第一种方法介绍一下如何实现对数字保留两位小数效果,如果数字的原本小数位数不到两位,那么缺少的就自动补零,这个也是为了统一的效果,先看代码实例:?1234567891011121314 查看详情

使用 NSNumberFormatter 生成小数点后尾随零的数字

...布时间】:2014-10-2805:57:44【问题描述】:在Swift中,您将如何创建一个NSNumberFormatter来保留小数点(12.000)后的尾随零,同时生成适合当前语言环境的数字?我当前的代码和示例输出:l 查看详情

T-SQL如何保留两位小数而不四舍五入[重复]

】T-SQL如何保留两位小数而不四舍五入[重复]【英文标题】:T-SQLHowtoleavetwodecimalswithoutrounding[duplicate]【发布时间】:2013-10-0920:59:40【问题描述】:我使用的是SQLServer2008。在从.NET网站检索数据后,我试图留下数字而不进行四舍五... 查看详情

js正则表达式判断输入框是不是为正整数或者正整数保留两位小数

rt我需要再输入一个字符立即判断是否符合条件,符合条件的有这样的情况,例如110.1111.111..1这样的五种情况。--------请大神写一个实例解答一下。3Q/^\\d+(\\.\\d*)?$|^\\.\\d+$/,这个正则既不限制开头0的个数也不限制小数点后面的数字... 查看详情

我如何确保十进制中有一定数量的数字(尾随零)

】我如何确保十进制中有一定数量的数字(尾随零)【英文标题】:Howcanimakesurethereisacertainamountofnumbersinadecimal(trailingzeros)【发布时间】:2018-01-0600:40:01【问题描述】:在我的网站上,有金额被回显。当我从金额中减去时,它会... 查看详情

如何在oracle数据库中保留小数点后两位而且在java中保留两位插入到数据表中

参考技术A使用numberNUMBER用于存储零、正数、定长负数以及浮点数。NUMBER数据类型可以以NUMBER(P,S)的形式来定义数字的精度和范围。这里:p表示精度(1-38),它表示存储在列中数字的总长度是p位:s表示范围,它表示小数点后的... 查看详情

javascript中如何保留一位小数;

比如说有一个值为;varval=1.004566644858;我想要的结果是直接取1.0作为值;1、JavaScript中有toFixed函数保留小数位,用法是首先打开hbuilder编辑器,新建一个html文件,里面先写入一个button并在上方设置简单样式:2、然后在按钮下方加入... 查看详情