CNode

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

问答
CCNBlackJ发布于8 年前最后回复8 年前13 回复3784 浏览0 收藏

有这么这个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)

C
CaanDoll#1·8 年前

toFixed(2)?

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

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

W
waitingsong#3·8 年前

不可能的任务

K
keith666666#4·8 年前

结论: 不可能

测试:

> 100.00
100
D
dislido#5·8 年前

只能手动拼字符串发了

C
CNBlackJ#6·8 年前

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

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

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

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

J
justjavac#9·8 年前

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

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

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

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

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

let data = `{
	"amount": ${amount.toFixed(2)}
}`
J
justjavac#11·8 年前
引用 CNBlackJ@justjavac 👍按照这个思路可以拼装到我需要的一组数据

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

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