在我正在处理的代码库中,我遇到了这样的代码:
try {
price = parseFloat(price);
} catch (err) {
console.log(err);
}
Run Code Online (Sandbox Code Playgroud)
我知道在大多数情况下,price无法将其变成数字,它只会获得相应的价值NaN.我的问题是:是否会出现错误,使try-catch-construction成为必要?
我搜索过,发现这个与我的问题有关,但不完全相同,因为我使用的是固定而不是精度. 为什么toPrecision返回一个String?
这是我的代码
var oldv = parseFloat(document.getElementById('total').textContent).toFixed(2);
alert(typeof oldv); // returns string
var testv = parseInt(document.getElementById('total').textContent);
alert(typeof testv); // returns number
Run Code Online (Sandbox Code Playgroud)
我需要进一步的数学步骤,所以字符串类型搞砸了...为什么?怎么解决?TIA
嗨我有一串用逗号分隔的数字,"100,200,300,400,500",我正在使用javascript split函数分割成一个数组:
var data = [];
data = dataString.split(",");
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用parseFloat解析数组的值,然后将它们存储回数组中.然后,我想将数组中的数字相加,并将其存储为另一个变量"dataSum".
我有以下代码,但我不能让它工作:
var dataSum = "";
for (var i=0; i < data.length; i++) {
parseFloat(data[i]);
dataSum += data[i];
}
Run Code Online (Sandbox Code Playgroud)
因此,在所有这些结束时,我应该能够分别访问任何解析的数字data [0],data [1]等...并且具有dataSum的总数.我究竟做错了什么?
我有我的代码并且它正在工作,但我正在尝试将 parseFloat 选项和“toFixed()”添加到小数点后两位。我对这两行代码应该放在哪里感到困惑。我创建了一个单位转换网站,可以将用户输入的英寸数转换为英尺。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<center><title>Unit Coversion Table</title><center>
</head>
<body>
<div id="question">
<h2>Unit Convertor</h2>
<p>Enter a Quanity of Inches: <input id="userinches" type="number" /> </p>
</div> <!-- End of question div section -->
<div id="conversion">
<script>
function feet() {
var userinches = document.getElementById('userinches').value;
doOuput('The answer is ', userinches * 0.0833);
}
function doOuput(val, unit) {
document.getElementById('results').innerHTML = val + unit;
}
</script>
</div> <!-- End of conversion div section -->
<div="buttons">
<button type="button" id="buttonft" onclick="feet();">Feet</button>
</div> <!-- …Run Code Online (Sandbox Code Playgroud) 我这样做:
var refundAmount = parseFloat($('#refundAmount2').val().replace('$',''));
var refundReceived = $('#refundReceived');
var remainderAmount = refundAmount-parseFloat(refundReceived.val().replace('$',''));
alert(parseInt(remainderAmount).toFixed(2));
Run Code Online (Sandbox Code Playgroud)
无论我做什么,结果总是以2位小数结尾为".00".因此,如果第一个数字是200.12而第二个数字是100.08,它应该以100.04警告我,但我得到100.00.关于为什么会发生这种情况的任何想法?谢谢大家!
我试图拆分一个字符串数组,称为"顶点"并将其存储为浮点数组.
目前,字符串数组包含三个元素: ["0 1 0", "1 -1 0", '-1 -1 0"]
我需要的是一个包含所有这些数字作为单个元素的浮点数组: [0, 1, 0, 1, -1, 0, -1, -1, 0]
我使用了split()函数,如下所示:
for(y = 0; y < vertices.length; y++)
{
vertices[y] = vertices[y].split(" ");
}
Run Code Online (Sandbox Code Playgroud)
...它给了我看起来像我所追求的东西,除了它仍然由三个字符串数组组成.
我如何将split()与parseFloat()一起使用以确保所有元素都是单独的并且类型为float?
parseInt(1e1); //10
parseInt('1e1'); //1
parserFloat('1e1') //10
Run Code Online (Sandbox Code Playgroud)
为什么parseInt在第二种情况下返回1?这三个不应该返回相同的结果?
如果我不知道变量是整数数字还是十进制数字,是否有一种简单的方法将字符串解析为整数或浮点数?
a = '2'; // => parse to integer
b = '2.1'; // => parse to float
c = '2.0'; // => parse to float
d = 'text'; // => don't parse
Run Code Online (Sandbox Code Playgroud)
编辑:似乎我的问题缺乏必要的上下文:我想做一些计算而不会丢失原始格式(原始格式因此意味着整数与浮点数.我不关心原始的小数位数):
例:
String containing the formatted number ('2')
=> parse to number (2.0)
=> do some calculations (2.0 + 1 = 3.0)
=> restore "original format" ('3' and not '3.0')
如果输入是2.0,那么想要的结果将是'3.0'(不是'3').
我刚刚开始学习Go,我正在尝试将字符串从标准输入转换为float64,因此我可以对输入值执行算术运算.
无论输入值如何,输出都会返回"0英尺转换为米为0米".在输入上调用ParseFloat后,我无法弄清楚为什么值为零.
如果有人可以请指出我为什么会这样,我会非常感激.
const conversion float64 = 0.3048
func feetToMeters (feet float64) (meters float64) {
return feet * conversion
}
func main(){
fmt.Println("\n\nThis program will convert feet to meters for you!\n")
reader := bufio.NewReader(os.Stdin)
fmt.Println("Enter feet value: \n")
feet, _ := reader.ReadString('\n')
feetFloat, _ := strconv.ParseFloat(feet, 64)
meters := feetToMeters(feetFloat)
fmt.Printf("%v feet converted to meters give you %v meters",feetFloat,meters)
}
Run Code Online (Sandbox Code Playgroud) 任何人都可以帮助我理解为什么这段代码不起作用?不知道我哪里出错了.
let ratings = ["8.8", "8.6", "9.0", "8.3"];
ratings.forEach(rating => {
return parseFloat(rating)}
);
Run Code Online (Sandbox Code Playgroud)
我只是未定义.