Javascript将浮点数字无故强制转换为整数
Javascript casts floating point numbers to integers without cause
我编写了一个函数,该函数的行为因其参数的数字类型而异。整型或浮点型。
使用这个问题中的一些代码如何检查数字是浮点还是整数?很容易检测是否为float,但后来我偶然发现,如果使用该数字调用函数,javascript会无故将1.0
强制转换为1
。
示例:
function dump(a, b) {
console.log(a, typeof b, b);
}
dump('1', 1);
dump('1.0', 1.0);
dump('1.1', 1.1);
输出铬,萤火虫,即歌剧和狩猎都给出了相同的结果:
1 number 1
1.0 number 1 "wrong"
1.1 number 1.1
我知道javascript只知道类型number
,但强制强制转换似乎太过分了。我想到的唯一解决方案是使用'1.0'
之类的字符串值调用函数,检测点并使用parseFloat
或parseInt
。
有什么建议吗?
您已经认识到JavaScript只有一个Number
类型。因此,1
与1.0
是相同的。
如果出于显示目的需要此项,则应使用toFixed
。
1..toFixed(1); // "1.0"
number%1===0
如果该条件为true
,则为整数,否则为浮点
相关文章:
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 检测个位数整数时正在转换毫秒
- 如何在 Javascript 中将变量的值从字符串转换为整数
- 为什么我的javascript程序没有将其转换为整数而不是字符串
- 如何翻译MySQL查询's ResultSet转换为整数
- 将JavaScript字符串转换为整数
- 通过 ajax 将整数转换为字符串
- 有没有一种简单的方法可以将整数转换为等效文本.即:1变为1
- 将angular变量{{$index+1}}转换为javascript整数
- Javascript将浮点数字无故强制转换为整数
- 字符串到整数的转换-在PHP和Javascript中是相同的
- Javascript整数到字符串的强制转换不起作用
- 在Javascript中将字符串转换为整数
- 使用Javascript将罗马数字转换为整数
- 将64位整数转换为json编码对象中的字符串的最佳实践
- 为什么从字符串到整数的类型转换总是返回“”;0〃;
- 如何将整数数组转换为人力车的 x/y 坐标
- parseInt() 不会将数组的每个数组元素转换为整数
- 在 JQuery 中将整数数组转换为字符串数组
- Node.JS/Javascript - 将字符串转换为整数正在返回 NaN,而我不希望它这样做