使用JavaScript手动将十进制字符串转换为数字

使用JavaScript手动将十进制字符串转换为数字,javascript,parsing,casting,Javascript,Parsing,Casting,前几天我在一次求职面试中被问到这个问题。我想“这很简单,我只使用parseFloat()”,然后面试官说我不允许使用parseFloat()。我必须自己手动进行转换,而不使用函数为我进行转换 因此,如果您知道如何在不使用parseFloat的情况下将十进制字符串“875.43”转换为JavaScript中的数字,请告诉我 谢谢,, CMECMA2017 let string = "875.43"; let number: Number = new Number(string); console.

前几天我在一次求职面试中被问到这个问题。我想“这很简单,我只使用parseFloat()”,然后面试官说我不允许使用parseFloat()。我必须自己手动进行转换,而不使用函数为我进行转换

因此,如果您知道如何在不使用parseFloat的情况下将十进制字符串“875.43”转换为JavaScript中的数字,请告诉我

谢谢,, CM

ECMA2017

let string = "875.43";
let number: Number = new Number(string);
console.log(typeof number);
console.log(number);
第二种方式:

let number: Number = string as Number;

面试官希望你编写一个
parseNumber
的实现

您可以遍历数字并将每个
digit+currentValue*10
”,然后将每个数字乘以乘数
digit*mult+currentValue;mult*=.1

函数解析数{
var值=0;
var符号=1;
var beforeDecimal=真;
var mult=.1;
var-ndx=0;
var len=s.长度;
如果(s[0]=='-'){
符号=-1;
ndx=1;
}
而(ndx='0'| | c

JS:

console.log(typeof ("875.43"/1));
number
输出:

console.log(typeof ("875.43"/1));
number
一元加号:

var str=“875.43”;
console.log(str,typeof str)

console.log(+str,typeof+str)
相关此链接没有帮助。我说我可以不使用parseFloat或parseInt等函数来为我进行转换。他们是否要求通过拆分字符串并操纵每个数字来进行逐位转换?如果您有
var myStr=“2345.65”,这是一种非常简单的方法代码中的
就是这样做的:
var myInt=+myStr;
甚至是“var myInt=+“2345.65”;
返回数的类型"为了这个?你开始描述的听起来有点像面试官描述的。这回答了我上面的问题…听起来面试官基本上想要一些数学计算,取10的幂,将每个数字乘以适当的幂,然后求和。可能只是想了解一下你的家庭用不同的方法来解决问题。或者看看你是怎么想的。正如下面有人指出的,做这件事除了让事情变得更难之外真的没什么意义。太好了。这件事真是太棒了……谢谢。