Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript:如何将数字四舍五入到最接近的10美分?_Javascript - Fatal编程技术网

javascript:如何将数字四舍五入到最接近的10美分?

javascript:如何将数字四舍五入到最接近的10美分?,javascript,Javascript,我想把“189.46”四舍五入到189.5 下面是一个例子,如果我们以数字作为字符串开始。有人能告诉我为什么我的方法不起作用,正确的方法是什么吗 Math.round(parseFloat('189.46')).toFixed(1); 将数字乘以10并四舍五入(使用提供的189.46-这将得到1895),然后除以10返回十进制数(在本例中为189.5) 假设您需要它从输入中获取一个值,而不是硬编码的字符串/数字,我已经提供了一个输入来输入值,并提供了一个按钮来触发单击事件的舍入功能 我还刚刚做

我想把“189.46”四舍五入到189.5

下面是一个例子,如果我们以数字作为字符串开始。有人能告诉我为什么我的方法不起作用,正确的方法是什么吗

Math.round(parseFloat('189.46')).toFixed(1);

将数字乘以10并四舍五入(使用提供的189.46-这将得到1895),然后除以10返回十进制数(在本例中为189.5)

假设您需要它从输入中获取一个值,而不是硬编码的字符串/数字,我已经提供了一个输入来输入值,并提供了一个按钮来触发单击事件的舍入功能

我还刚刚做了一个小的基本数字检查,以确保输入的值是一个数字(注意,所有输入都将产生一个字符串),但只需检查是否输入了一个数字-使用parseFloat解析后-将其乘以1,并将新值与输入值进行比较-如果不相同-它不是一个数字

在输入框中输入新值时,我还弹出了一种清除文本描述的方法-jus cos':)

函数roundNumber(){
var num=parseFloat(document.getElementById('numberInput').value);
如果(num*1!==num){
document.getElementById('numberDisplay')。innerText='不是有效的数字-请重试';
document.getElementById('numberInput')。值=“”;
}否则{
var numRounded=(数学四舍五入(num*10)/10).toFixed(1);
document.getElementById('numberDisplay')。innerText='Rounded number:'+numRounded;
}
}
函数clearText(){
document.getElementById('numberInput')。值=“”;
document.getElementById('numberDisplay')。innerText='';
}

整数值

JavaScript的数学对象提供了一种四舍五入到整数的方法

四舍五入到小数点最常见的解决方案之一是使用。。。 Number.prototype.toFixed()

所以。。。试试这个: `

`
Math.round(val*10)/10
只需使用
.toFixed(1)
而不使用任何
Math.round
。如果您计划将其显示为货币值,则可能会附加一个
0
var x = '189.46';
var k = parseFloat(x).toFixed(1);  //k = 189.5  
var y = parseFloat(k); //y = 189.5 
//typeof(k) = string
//typeof(y) = number