有个金额数据加千分位是应该前端处理还是后端处理好?

2022-08-04 10:39:04 +08:00
 MrdotX

今天开发遇到一个场景,前端页面里涉及金额的字段要增加千分位逗号,数据要做下处理,

我的疑问是,这个处理应该前端来做还是后端来做?

宝子们给点意见

先说下我自己的看法,我是前端的,所以我偏向前端只做交互和渲染,不做数据处理,应该后端处理数据, 你们怎么看?

3536 次点击
所在节点    程序员
49 条回复
vikaptain
2022-08-04 10:40:37 +08:00
前端处理。这不是数据处理问题,是数据显示问题
abc0123xyz
2022-08-04 10:41:27 +08:00
只要不让我处理就好
stoluoyu
2022-08-04 10:41:54 +08:00
撕逼输了的处理
lingxiaoli
2022-08-04 10:43:06 +08:00
当然是前端来处理了 1 楼说的对 这是显示问题
ngrok111
2022-08-04 10:43:52 +08:00
前端,就像一楼说的这是显示问题,后端给纯数字你想怎么改都行
cydysm
2022-08-04 10:43:54 +08:00
就一个字段的话 前端
当然后端可以给个展示用的字段
MrdotX
2022-08-04 10:45:17 +08:00
@vikaptain
@lingxiaoli
@cydysm 那如果像是金额精度处理呢,应该前端还是后端处理?
thinkershare
2022-08-04 10:45:20 +08:00
屁股决定脑袋, 当然是希望将所有工作对推给对方做.
正常情况, 没有 BFF 肯定是所作都可以, 这个一个数据显示为什么样的样式, 更合理的当然是前端来做.
laviris
2022-08-04 10:45:28 +08:00
无论从哪个角度看都是前端处理
daimubai
2022-08-04 10:45:32 +08:00
数据显示问题当然是前端改。和时间一样的。后端给前端时间戳,前端展示年月日也好,时分秒也好
des
2022-08-04 10:46:04 +08:00
当然是前端处理,这有什么疑惑的?
thinkershare
2022-08-04 10:47:02 +08:00
@MrdotX 金额进度当然是后端处理, 不过一般不会设计到精度, 因为我们总是使用比分还要小 2 个数量级的单位, 根本就不使用小数存储金额, 而是直接使用 long
huiyadanli
2022-08-04 10:48:16 +08:00
金额精度后端处理
金额展示前端处理
aijam
2022-08-04 10:48:33 +08:00
Cu635
2022-08-04 10:49:33 +08:00
“我偏向前端只做交互和渲染,不做数据处理”

说的对,千分位就是数据显示问题,可以说是“渲染”,而实际的数据完全是不涉及的,所以 lz 问题的回答就是“应该前端处理”。类似的还有小数点是用逗号还是圆点,小数部分是不是要缩小一个字号这种问题。
lz 可以这么想一下:如果数据不再用逗号做千分位了,而是用空格,那么数据是不是就变化了?是不是 1 000!=1,000 ?
lingxiaoli
2022-08-04 10:51:02 +08:00
@MrdotX #7 你说的精度是指分? 后端存的时候就是按分存的 给前端的时候前端按 ui 以及业务要求来做相应处理
ecloud
2022-08-04 10:51:56 +08:00
@Cu635 德国的小数点跟逗号就是反着用的,这本质上叫做 localization
Jooooooooo
2022-08-04 10:52:00 +08:00
后端做的好处是, 能更灵活的去调整这个展示的样式.

前端只单纯展示一个字符串.
damai0419
2022-08-04 10:54:41 +08:00
这种偏向前端处理。
像金额类的,后端基本要保存为币种的最小单位。
这串数字反给前端,前端怎么展示,很可能不同的终端不一样。¥ 1 ,000 ;一千元;壹仟元; 1000 元 等等的。
ecloud
2022-08-04 10:54:42 +08:00
@MrdotX 精度问题,最好让后端改成用 long 存储,然后再给你返回一个 point (小数位)。比如 (1234567|point=3) => 1234.567 (分隔符取决于 locale )

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/870578

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX