首页 新闻 会员 周边 捐助

Newtonsoft.Json 格式化浮点数为小数点后2位

-9
悬赏园豆:100 [已解决问题] 解决于 2014-09-01 10:09

如题!!

不要告诉我扩展JsonResult 类

也不要告诉我自己写个JsonConverter

最好能直接使用MVC Controller 自带的Json 方法, 指定一个Json 格式

实在不行, 直接用JsonConverter 指定一个格式化参数指定

 

如果这个题目,得不到满意的回答, 去他妹的微软, 去他妹的.Net, C#, 老子转其他语言了!!

Codisan的主页 Codisan | 初学一级 | 园豆:58
提问于:2014-08-19 15:56
< >
分享
最佳答案
3

题目是一个陈述句,根本没看出到底想问什么。

浮点数的格式化和Newtonsoft.Json没什么关系吧,

如果对于浮点数想取小数点后2位,

应该去查 浮点型(比如double) 的 toString() 重写方法。

 

另:楼主基础太差,连想问什么都说不清楚,建议转其他语言。

收获园豆:100
丶谦信 | 菜鸟二级 |园豆:308 | 2014-08-19 16:29

Person {name="Tom", Salary=4.32323d;}

转换成:{name: "tom", Salary: 4.32}

用newtonsoft 转

Codisan | 园豆:58 (初学一级) | 2014-08-19 16:33

连我问的问题都看不明白, 请闭上你的菊花

Codisan | 园豆:58 (初学一级) | 2014-08-19 17:04

@Codisan: 

代码如图,

  但我只是写了最少所需的代码。

另外,如果可以,JsonConverter应该只用来定义Json的格式,而不是去关心浮点数的格式。既然不想要那么多位,应该在生成的时候就只取2位。

公司的电脑装的VS2012 express,对新版MVC, WebPages等的支持有问题,只能有空回家看看了。

丶谦信 | 园豆:308 (菜鸟二级) | 2014-08-20 08:46

@水無月 白: 感谢楼主,都别喷了, 我昨天GG了下,最后得到的答案也是实现 custom converter, 官网的例子我也看了

我的疑惑是, 只不过这么简单一个功能,需要这么麻烦吗?我之前用过java的 一些json serializer, 哪儿有这么麻烦的,指定个formatter 就可以了;

再有就是Asp.Net MVC :Controller 类的 Json() 函数,难道不能指定一个FormatSetting的么, 必须得继承JsonResult 去扩展(至少网上大把的人这么干,我不知道还有没有其他法子)

 

最后再说一句, 语言和语言之间差异是非常大的, 就拿c# 本身来说, c# 1.0 和 c# 5.0 差异之大,不需要我多说, 更何况不同语言之间的差异了(此观点来自《黑客与画家》)

所以每当发现这种既简单的功能, 需要非常繁杂的代码来实现的时候, 我就知道肯定是某个地方出问题了!

Codisan | 园豆:58 (初学一级) | 2014-08-20 09:41
其他回答(2)
5

建议转其他语言...

幻天芒 | 园豆:37207 (高人七级) | 2014-08-19 16:35

先把问题回答了,再评价,否则闭上你的菊花

支持(0) 反对(5) Codisan | 园豆:58 (初学一级) | 2014-08-19 17:03

@Codisan: 就凭你这素质,多说无益~这也就是狼不怕虎,唯独不愿意惹疯狗的原因...

支持(3) 反对(0) 幻天芒 | 园豆:37207 (高人七级) | 2014-08-19 17:46

淡定…………

支持(0) 反对(1) [秦时明月] | 园豆:738 (小虾三级) | 2014-08-19 22:33

@Moon.Orm塑造Orm经典: 呵呵,还好,比较淡定...

支持(1) 反对(0) 幻天芒 | 园豆:37207 (高人七级) | 2014-08-20 00:00

@幻天芒: 像这种素质,建议去祸害其他语言的程序员

支持(3) 反对(0) 羽商宫 | 园豆:2490 (老鸟四级) | 2014-08-21 11:05

@Codisan: @幻天芒:幻天芒,是HTM的拼音吧?啊哈哈,居然被“闭上菊花”,素质与淡定!

支持(0) 反对(0) 519740105 | 园豆:5810 (大侠五级) | 2014-09-01 11:25
3

 像这种素质,建议去祸害其他语言的程序员

Cherbim | 园豆:323 (菜鸟二级) | 2014-08-28 11:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册