首页 新闻 会员 周边 捐助

在前台把金额格式化之后(12345转化为了12,345.00),保存的时候不能存逗号,除了每一个属性都改之外有没有

0
悬赏园豆:10 [待解决问题]

金额在显示的时候,把12345转化为了12,345.00  但是保存的时候 不想挨个去修改属性,有什么好办法,提交表单的时候,直接把逗号干掉吗?

91曹操的主页 91曹操 | 初学一级 | 园豆:78
提问于:2016-04-06 11:19
< >
分享
所有回答(4)
0

你是怎么转的,把你的代码贴出来看看,不然大家怎么帮你啊。

心怀宇宙 | 园豆:643 (小虾三级) | 2016-04-06 16:15
0

既然后台转前台是格式化了,前台转后台后,直接把数据格式化回去啊

小光 | 园豆:1766 (小虾三级) | 2016-04-06 16:56

问题就是  怎么  前台往后台转的时候   在什么地方转,表单提交是封死的   在后台  先get在set 吗?

支持(0) 反对(0) 91曹操 | 园豆:78 (初学一级) | 2016-04-06 17:03

@91曹操: 后台是servlet比较容易,获取后直接格式化,后台使用框架没写过,不过应该可以在set方法中格式化吧,你可以试试

支持(0) 反对(0) 小光 | 园豆:1766 (小虾三级) | 2016-04-06 17:11
0

 以下是我的方法:

1 ModelBinders.Binders.Add(typeof(Nullable<decimal>), new DecimalModelBinder());
2 ModelBinders.Binders.Add(typeof(decimal), new DecimalModelBinder());
 1     public class DecimalModelBinder : DefaultModelBinder
 2     {
 3         public override object BindModel (ControllerContext controllerContext, ModelBindingContext bindingContext)
 4         {
 5             var value = base.BindModel(controllerContext, bindingContext) ?? (object) controllerContext.HttpContext.Request[bindingContext.ModelName];
 6             if (value != null && string.IsNullOrEmpty(value as string) == false) {
 7                 return decimal.Parse(value.ToString());
 8             } else {
 9                 return value;
10             }
11         }
12     }

 

Y2zz | 园豆:393 (菜鸟二级) | 2016-04-07 00:06
0

str.replace(",","")

chengeng | 园豆:294 (菜鸟二级) | 2016-04-08 10:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册