跳到主要内容
CNode

nodejs里面如何把整数100变成浮点数100.00 放到请求里面?

问答
CCNBlackJ发布于 8 年前最后回复 8 年前
1338180

有这么这个api

curl --request PATCH \
  --url https://test.com/api/v1/money \
  --header 'content-type: application/json' \
  --data '{
	"amount": 100.00
}'
  • amount只支持带有两位小数点的数字
  • 这样是不行的🙅‍♂️ { "amount": "100.00" }
  • 这样也是不行的🙅 { "amount": 100 }
  • 这样是可以的👌 { "amount": 100.01 }

问题:

  • 在请求api的时候如何把 100 变成 100.00 ?
查看回复

回复 (13)

J
justjavac#118 年前
引用 CNBlackJ@justjavac 👍按照这个思路可以拼装到我需要的一组数据

@CNBlackJ 不知道为什么会有这么奇怪的需求,因为后端接收之后还是 100,并没有后面的零

C
CNBlackJ#108 年前
引用 justjavac@CNBlackJ 可以做到,json 的本质是字符串,只要你自己拼就可以了。

@justjavac 👍按照这个思路可以拼装到我需要的一组数据

let data = `{
	"amount": ${amount.toFixed(2)}
}`
J
justjavac#98 年前

但是服务器端接收呢?一般情况下末尾的零也会丢失的。

JSON.parse(`{
    "amount": 100.00
}`);
// 结果是 {amount: 100}

文章图片

除非服务器端也自己解析,但是 100 === 100.00 这两个值是全等的,等价的,所以完全没有必要用不同的表示方式来传输多余的字节。

J
justjavac#88 年前

文章图片

J
justjavac#78 年前
引用 CNBlackJ感谢各位,我也觉得是做不到的

@CNBlackJ 可以做到,json 的本质是字符串,只要你自己拼就可以了。

let data = `{
	"amount": ${amount.toFixed(2)}
}`
C
CNBlackJ#68 年前

感谢各位,我也觉得是做不到的

D
dislido#58 年前

只能手动拼字符串发了

K
keith666666#48 年前

结论: 不可能

测试:

> 100.00
100
W
waitingsong#38 年前

不可能的任务

C
CNBlackJ#28 年前
引用 CaanDolltoFixed(2)?

@CaanDoll toFixed(2)出来的结果是{ “amount”: “100.00” } 所以也是不行

C
CaanDoll#18 年前

toFixed(2)?

参与回复

登录后即可参与回复。登录