App 1 Icon
imToken: BTC & ETH
下载
App 2 Icon
imToken: BTC & ETH
下载
App 3 Icon
imToken: BTC & ETH
下载

asp.net 数字前加货币符号,C# 格式化字符串这样写

imtoken官方网站 10

asp.net 数字前加货币符号,C# 格式化字符串这样写

做支付模块时,后台跑出来的金额总是一串裸数字,产品需求一来,每个数字前面得加个¥。这事儿看着小,写法却有好几种,选不对就踩坑。

最直观的做法是字符串插值,直接 $"¥{amount:0.00}" 就完事了。简单粗暴,在Controller返回JSON前把数字拼好再丢出去就行。缺点是货币符号写死在代码里,哪天产品说要支持美元,你得把整个项目翻一遍找出来改。

更规范的路子是用ToString格式字符串,比如 amount.ToString("C", CultureInfo.GetCultureInfo("zh-CN")),运行时自动带上¥。在Razor视图里写 @item.Price.ToString("C"),渲染出来的金额格式跟着系统区域设置走,不用手动硬编码符号。

货币格式化C#_asp.net 在数字前面加货币符号_金额显示国际化

前端渲染表格时asp.net 在数字前面加货币符号,我习惯在Model层统一处理。定义一个只读属性 DisplayPrice => $"¥{Price:F2}",View里直接 @model.DisplayPrice 就够。视图层不掺和格式化逻辑,后续要改符号或精度,只动Model一个地方。

还有个容易忽略的坑:zh-CN下¥在数字前,en-US下$也在前,但fr-FR的€在某些区域设置里会跑到数字后面。做国际化项目时,别手写符号,交给CultureInfo去处理,不然一换语言asp.net 数字前加货币符号,C# 格式化字符串这样写,符号位置全乱。

你项目里金额显示是前端JS来格式化,还是后端C#统一吐出去?聊聊你的方案。