我的理解是javascript严格来说并不是一个整数数据类型,但是我遇到了一个奇怪的问题,使我不得不再次猜测自己。
我正在尝试使用parseInt构建一个简单的自定义舍入函数,以舍去多余的小数位,但是完整的函数总是返回一个整数:
function round(num, places){
return (parseInt(num*10^places) + 0.5)/10^places
}
为了完整起见,我在另一个函数中使用了此函数:
function convertDegrees(val, uom){
if (uom === "celcius"){
return round(val * 9/5 + 32, 2) + " degrees Fahrenheit"}
else {
return round((val - 32) * 5/9, 2) + " degrees Celcius"}
}
但我也看不出会导致问题的原因。
答案 0 :(得分:1)
您似乎想将某物提高到一个指数,该指数需要**
而不是bitwise XOR的^
function round(num, places) {
return (parseInt(num * 10 ** places) + 0.5) / 10 ** places
}
function convertDegrees(val, uom) {
if (uom === "celcius") {
return round(val * 9 / 5 + 32, 2) + " degrees Fahrenheit"
} else {
return round((val - 32) * 5 / 9, 2) + " degrees Celcius"
}
}
console.log(convertDegrees(0, 'celcius'))