将字符串转换为数字,但保留'+';使用JavaScript
我正在将以下字符串转换为数字,但它正在删除“+”字符。我的目的是获得以下输出: 我现在得到的是:将字符串转换为数字,但保留'+';使用JavaScript,javascript,string,Javascript,String,我正在将以下字符串转换为数字,但它正在删除“+”字符。我的目的是获得以下输出: 我现在得到的是: "change": "+0.01", 我的期望输出: "change": +0.01, 将“Number()”与删除“+” 我怎样才能做到这一点?一个数字就是一个数字就是一个数字。不是一串。不是数字的表示。但是一个数字。没有存储“+”字符或“-”字符。没有逗号、句点或其他字符。这是一个数字。你不能有两个苹果;你只有两个苹果 数字0.01是正数。这个数字是从哪里来的,或者用来产生这个数字的原始字符
"change": "+0.01",
我的期望输出:
"change": +0.01,
将“Number()”与删除“+”
我怎样才能做到这一点?一个数字就是一个数字就是一个数字。不是一串。不是数字的表示。但是一个数字。没有存储“+”字符或“-”字符。没有逗号、句点或其他字符。这是一个数字。你不能有两个苹果;你只有两个苹果 数字0.01是正数。这个数字是从哪里来的,或者用来产生这个数字的原始字符串是什么样子的,这都无关紧要 如果您希望将一个正数与一个前导的
+
串接,那么这就是您以后将数字
对象“转换”回字符串时如何处理它的问题
然而,在我看来,您的“期望结果”看起来像一个对象声明,其中是否存在前导
+
,同样是无关紧要的,因为您正在存储一个数字。如果需要向人展示数据,您可以在数据的接收端按自己喜欢的方式对其进行格式化。您不能<代码>+0.01等于0.01
。如果要保留+
,则需要将其设置为字符串
如果您想从该字符串中获取数字并检查它是否有
+
符号,那么请使用RegEx或该字符串。在JavaScript中,数字前缀将是一个糟糕的主意,这就是为什么它不被允许的原因
在这种语言中,+
已经用于许多事情,如:
- 字符串串联(例如
)“foo”+“bar”
- 数字的添加(例如
)1+2
- 变量增量(例如
)i++
- 使用一元运算符显式类型转换(例如
)+'0.07'
- 当操作数不是同一类型(例如
)时的隐式类型转换(强制)4+'6'
var i=2;
log(+'+1'++'3'+++i++'7')代码>简单地说,您无法实现这一点<代码>+0.01
是一个字符串,而不是数字“我想要的输出”是文本吗?物体的一部分?一些JSON?什么?说清楚。理想地呈现你的想法;你在这里已经五年半了,问了87个问题,所以你现在应该知道我们的期望。@Jean BaptisteYunès:不要在评论部分提供解决方案,因为我们无法正确地进行同行评审。例如,我不能否决你的错误评论;这个建议将产生一个字符串,OP表示他们正试图摆脱它。不是真的。如果数字为负数,则可以有句号和-
符号<代码>+可以手动放置符号来强制类型强制。@Daminianczapiewski:您弄错了,错过了全部要点。