自定义十进制函数



我想做一个函数,这就是我需要的。

如果数字以 0 开头,则最多为该数字指定 6 位小数。 如果不是(数字以 1,2,3...( 开头(,则最多为该数字指定 2 位小数。

$567.45321432 > $567.45
$65.3 > 65.30
$0.1 > 0.100000
$0.00003 > 0.000030

这就是我到目前为止所得到的。firstnumb = 0何时必须5.知道是什么原因造成的吗?

<!DOCTYPE html>
<html lang="">
<head>
</head>
<body>
<script>
var num = 544.3;
var str = num.toString();
var firstnumb = str.charAt(0);
if (firstnumb = "0") {
alert("2 Decimals");
var numdecimal = parseInt(str, 10).toFixed(2);
} else {
alert("6 Decimals");
var numdecimal = parseInt(str, 10).toFixed(6);
} 
</script>
</body>
</html>

正如@Tyler Roper在评论中所解释的那样,您应该使用===而不是=因为后者用于作业。此外,您应该使用parseFloat浮点数而不是parseInt,因为您使用的是浮点数而不是整数。

var num = 544.3;
var str = num.toString();
var firstnumb = str.charAt(0);
if (firstnumb === "0") {
console.log("6 Decimals");
var numdecimal = parseFloat(str, 10).toFixed(6);
alert( numdecimal );
} else {
console.log("2 Decimals");
var numdecimal = parseFloat(str, 10).toFixed(2);
alert( numdecimal );
}

最新更新