Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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中的浮点值提取_Javascript_Math_Integer - Fatal编程技术网

javascript中的浮点值提取

javascript中的浮点值提取,javascript,math,integer,Javascript,Math,Integer,在JavaScript中,如何将(0.9)这样的浮点值提取为整数值(9) 范例 var total = 67.9; something to process var whole var DEC to be like var whole = 67; var DEC = 9; 我能想到的最简单的方法是: var string = total.toString(); var dotidx = string.indexOf("."); var dec = dotidx >= 0 ? +st

在JavaScript中,如何将(0.9)这样的浮点值提取为整数值(9)

范例

var total = 67.9; 
something to process  var whole var DEC to be like 
var whole = 67;
var DEC = 9;

我能想到的最简单的方法是:

var string = total.toString();
var dotidx = string.indexOf(".");
var dec = dotidx >= 0 ? +string.slice(dotidx + 1) : 0;

请注意,它不适用于指数形式的数字。

我能想到的最简单的方法是:

var string = total.toString();
var dotidx = string.indexOf(".");
var dec = dotidx >= 0 ? +string.slice(dotidx + 1) : 0;

请注意,它不适用于指数形式的数字。

有很多方法可以找到结果。我给你一个简单的解决办法

var total = 67.9
var splitVal = total.toString().split(".")
var whole = splitVal[0], var desc = splitVal[1] || 0 
如果你想转换整数和小数,那么乘以1

var whole = splitVal[0] * 1

有很多方法可以找到结果。我给你一个简单的解决办法

var total = 67.9
var splitVal = total.toString().split(".")
var whole = splitVal[0], var desc = splitVal[1] || 0 
如果你想转换整数和小数,那么乘以1

var whole = splitVal[0] * 1

为什么是9而不是0.9?像42.321这样的数字会发生什么?如果它返回
dec=321
?像42.321这样的数字应该返回42,而不是0.321。在一般情况下,这是不可能的(由于精度有限)。有可能你做了错事,你最好解释一下你正在解决的原始问题。@zerkms如果你只处理数字是不可能的(是的,我是出于好奇而尝试的——它几乎从来没有给出正确的答案),但由于这是一个表示问题,我们不妨使用字符串。@MaxArt
var total=67.9---嗯,在这个问题上,他们处理的是数字而不是字符串。由于不是每个数字都可以正确表示,所以(在运行时)无法判断数字文字和它的字符串表示形式是否相同。为什么是9而不是0.9?像42.321这样的数字会发生什么?如果它返回
dec=321
?像42.321这样的数字应该返回42,而不是0.321。在一般情况下,这是不可能的(由于精度有限)。有可能你做了错事,你最好解释一下你正在解决的原始问题。@zerkms如果你只处理数字是不可能的(是的,我是出于好奇而尝试的——它几乎从来没有给出正确的答案),但由于这是一个表示问题,我们不妨使用字符串。@MaxArt
var total=67.9---嗯,在这个问题上,他们处理的是数字而不是字符串。因为不是每个数字都能正确表示——你无法(在运行时)判断数字文字和它的字符串表示形式是否相同。如果
total
实际上是一个整数,这将返回
undefined
/
NaN
。我们可以设置
var desc=splitVal[1]| 0
。感谢MaxArt如果
总计
实际上是一个整数,那么它将返回
未定义
/
NaN
。我们可以设置
var desc=splitVal[1]| | 0
。谢谢MaxArt