Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/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_Javascript_String - Fatal编程技术网

将字符串转换为数字,但保留'+';使用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'
    )时的隐式类型转换(强制
这是JavaScript中容易出错的部分,因为您可能有如下代码:

var i=2;

log(+'+1'++'3'+++i++'7')简单地说,您无法实现这一点<代码>+0.01
是一个字符串,而不是数字“我想要的输出”是文本吗?物体的一部分?一些JSON?什么?说清楚。理想地呈现你的想法;你在这里已经五年半了,问了87个问题,所以你现在应该知道我们的期望。@Jean BaptisteYunès:不要在评论部分提供解决方案,因为我们无法正确地进行同行评审。例如,我不能否决你的错误评论;这个建议将产生一个字符串,OP表示他们正试图摆脱它。不是真的。如果数字为负数,则可以有句号和
-
符号<代码>+可以手动放置符号来强制类型强制。@Daminianczapiewski:您弄错了,错过了全部要点。