nodejs里面如何把整数100变成浮点数100.00 放到请求里面?
发布于 6 年前 作者 CNBlackJ 3008 次浏览 来自 问答

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

toFixed(2)?

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

不可能的任务

结论: 不可能

测试:

> 100.00
100

只能手动拼字符串发了

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

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

let data = `{
	"amount": ${amount.toFixed(2)}
}`

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

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

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

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

let data = `{
	"amount": ${amount.toFixed(2)}
}`

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

@justjavac api只接收这样的数据格式‍ 🤦️

回到顶部