【问题标题】:Struts 2 : double values with point or commaStruts 2:带点或逗号的双精度值
【发布时间】:2014-05-29 12:08:03
【问题描述】:

我不能用点插入双精度值的问题(示例 2.2),但是我可以用逗号插入它们(示例:2,2)。

但是当我想使用(JSP 和 Ajax)编辑它们时,即使我用逗号存储它们,它们也会显示为(点),所以我必须编辑所有值!

场景如下:我想在我的应用程序(hibernate 和 struts2)中编辑一些双精度值,我将值从动作传递到 JSP:

private Service Service;
    private Vehicule v;
    private Map<String, Object> map= new HashMap<>();

    public String query()
    {

            Service = new ServiceImpl();
            v = new Vehicule();
            v= Service.getVehiculeByImmat(field1);
            map.put("date", v.getdate().toString());
    map.put("kilometrage", v.getKilometrage());


    return "success";

    }

然后我在我的 JSP 中展示它们:

$(document).ready(function(){

      $('#field1').change(function(){


          var selectedValue = $('#field1').val();
            if ($.trim(selectedValue).length > 0) 
             {
          alert(selectedValue);
                $.ajax(
                {
                    type: 'POST', 
                    url  : "<s:url action='query'/>",
                    dataType : 'json',
                    data: { field1: selectedValue},
                    success: function(result){

                        $.each(result, function(key,value)
                        {                      $("#"+key).val(value);
                                    } );

                },

                 });

            }

        }
      );


    });

struts.xml:

<action name="query" class="action.GestionVehicules" method="query">
          <result name="success" type="json">map</result>
    </action>

我的问题:可以用 point 插入双精度值吗?

【问题讨论】:

  • 问题是……?
  • 是否可以使用点而不是逗号插入双精度值(在数据库中)?
  • 答案是:这取决于语言环境。
  • 怎么样?请你解释一下
  • 你的 v 类的字段是什么?

标签: java json hibernate jsp struts2


【解决方案1】:

默认区域设置与客户端的预期不同。这些语言环境的小数格式也不同。您可以将美国语言环境设置为操作上下文,以便在序列化为 JSON 时使用它。根据此语言环境,它使用点作为小数部分分隔符,使用逗号进行分组。

ActionContext.getContext().setLocale(Locale.US);  

在返回结果之前做。

【讨论】:

  • 哦,谢谢先生的关注,您真好,但我的问题是我必须用逗号输入值(在表格中)才能被应用程序识别,因为如果我使用点,我只是在我的数据库中找到空值,如果我显示数据库中的值,它们会显示为点,所以我必须编辑它们....我希望用点插入它们避免这些问题
  • 您可能会发现这有助于确定您的语言en.wikipedia.org/wiki/Decimal_mark
  • 这个链接有一些语言环境和相应的小数分隔符docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html
  • 我应该在哪里输入这些小数?
  • 查看Locale 类,它具有那些列出的语言环境的静态成员,例如Locale.US,或者您可以创建一个custom locale
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多