将1个整数转换为1.0-(不能是字符串)
Convert 1 integer to 1.0 - (must not be string)
我想将1转换为1.0。
我知道.toFixed()方法,但这会将其转换为字符串。我需要它是一个整数。
我该怎么做?
编辑:我只是想请求后端解决这个问题,因为发布4而不是4.0应该没有问题,因为它们是相同的数字。
谢谢大家的帮助。
整数只存在于JavaScript中的瞬态情况下。您可以通过使用一些按位运算符的非操作组合来强制执行:
var x = 22.3;
x = ~~x;
这将导致"x"为22
,但它实际上仍然是一个浮点值。在~~x
的表达式求值过程中存在整数值,但当存储该值时,它会返回到浮点。(对不起,我删掉了这个假表情。编辑不,也许还可以;还在喝第一杯咖啡…)
注意,~~
是按位"not"运算的两个应用程序,它将保留原始数的(整数值)。
编辑—至于您关于将值发布到后端代码的评论,请理解HTTP参数本质上是字符串;也就是说,数值被呈现为十进制数字的字符串(可能还有小数点、符号、指数等)。因此,出于这个目的,.toFixed()
和其他任何东西一样好。一旦HTTP参数到达服务器,就由那里的代码将参数值解释为数字。
再次编辑—如果你发布了一个JSON对象,那么它仍然是所有东西都是字符串的情况。您应该使用JSON编码器来创建序列化版本,它将去掉没有的数字的小数部分。您可以编写自己的序列化程序,但在编写之前,最好先花点时间弄清楚服务器端JSON解析器的问题,因为它无法识别没有小数的有效数字。
在JavaScript中,整数和浮点之间没有分隔。只有数字。所以,每当你把1保存在var中时,他实际上是1.0。要在屏幕上表示它,你必须使用.toFixed()。正如你所说,这是一个字符串表示。如果你想计算1+2.8这样的结果,你会得到3.8。
您可以使用(1).toFixed(1)如果您再次希望它是一个整数,则使用parseFloat((1).toFixed(1))更改它;
- 为什么错误不能字符串化
- 为什么我不能使用jQuery.parseJSON(json)解析json字符串
- 正则表达式能否匹配字符串开头或结尾的字符(但不能同时匹配)
- Google图表:轴#0的数据列不能为字符串类型
- 字符串中的字符串可以'不能用换行符分隔
- 正则表达式 - 字符串不能以空格开头,以空格结尾,并且连续包含几个空格
- 为什么我不能在 JavaScript 中将对象属性设置为空字符串
- 为什么我不能通过对象中定义的字符串调用 setter
- 为什么在 JavaScript 中不能用函数变量覆盖字符串变量
- Mongodb:不能使用字符串字段名称附加到数组
- PHP 似乎不能很好地处理 XML 字符串
- 为什么我不能使用带斜杠的子字符串
- 你能不能让 mongo 默认生成_ids字符串
- html 响应数据 ID 不能在 Facebook API 调用中用作字符串
- XHRHTTPRequest 响应不能等于普通字符串
- 为什么对于可被10整除的数字,字符串到int之间的转换不能像预期的那样工作
- JQuery表分拣机没有'不能使用日期范围字符串
- 用空格分隔字符串,但不能在括号内
- 为什么$(document).html()不能获取整个html字符串?还有其他方法吗
- 将1个整数转换为1.0-(不能是字符串)