Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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 parseInt是否返回严格的整数?_Javascript_Function_Integer_Rounding - Fatal编程技术网

Javascript parseInt是否返回严格的整数?

Javascript parseInt是否返回严格的整数?,javascript,function,integer,rounding,Javascript,Function,Integer,Rounding,我的理解是,严格来说javascript并没有整数数据类型,但我遇到了一个奇怪的问题,这让我自己也在猜测 我正在尝试使用parseInt构建一个简单的自定义舍入函数来删除额外的小数位数,但完整函数始终返回一个整数: function round(num, places){ return (parseInt(num*10^places) + 0.5)/10^places } 为了完整起见,我在另一个函数中使用此函数: function convertDegrees(val, uom){

我的理解是,严格来说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"}
}

但是我也看不出是什么导致了这个问题。

看起来你想把某个东西提升到一个指数,这个指数需要
**
而不是
^
,它是

函数轮(num,places){
返回(parseInt(num*10**places)+0.5)/10**places
}
函数转换度(val,uom){
如果(计量单位==“塞尔西乌斯”){
回程(val*9/5+32,2)+“华氏度”
}否则{
回程((val-32)*5/9,2)+“摄氏度”
}
}

console.log(convertDegrees(0,'celcius'))
Math.pow()
如果您的环境不支持求幂运算符。感谢@SamVK的评论--它将我发送到MDN,我不知道
**
不是通用的。哇!唉,要学的东西太多了,学的时间太少了,当然,我一路往下掉了各种各样的东西!