Struts 2 - Double 与科学记数法问题
Posted
技术标签:
【中文标题】Struts 2 - Double 与科学记数法问题【英文标题】:Struts 2 - Double with scientific notation issue 【发布时间】:2014-03-10 12:53:10 【问题描述】:我在处理 Struts 2 和 javascript 时遇到问题。这是javascript代码:
geocoder.geocode('address': address, function(results, status)
if (status == google.maps.GeocoderStatus.OK)
var latitud = results[0].geometry.location.lat();
var longitud = results[0].geometry.location.lng();
document.getElementById("goPlans_evo_latitud").value = latitud;
document.getElementById("goPlans_evo_longitud").value = longitud;
document.getElementById("goPlans").submit();
);
当我尝试在脚本端打印这两个值(纬度和经度)时,它会返回此值(例如):
41.3970035 2.189719200000013
如果我在 action 方法上打印它们(在 struts 2 在 Double 对象上设置这些值之后),它会返回:
4.13970035E8 2.189719200000013E15
我注意到这是一个科学记数法。我可以尝试格式化它们,但这些值的格式错误。
这个动作方法(很简单):
public String goPlans()
System.out.println(evo.getLatitud() + " " + evo.getLongitud());
return SUCCESS;
有人可以帮助我了解如何使用 Struts 2 正确设置这些值吗?
谢谢。
编辑:我发现了问题!我需要将经度和纬度 bean 变量声明为双精度(原始)而不是双精度(类)。
【问题讨论】:
How do I display whole number in JavaScript? 或 How to avoid scientific notation for large numbers in javascript? 的可能重复 我认为问题不在于 Javascript 方面。它在操作方法方面。 如果你console.log(latitud)
和/或 console.log(longitud)
怎么办?
显示你在哪里打印的代码,然后你可能会得到答案。
如果您找到了问题的答案,请将其发布在答案部分。
【参考方案1】:
我发现了问题!我需要将经度和纬度 bean 变量声明为双精度(原始)而不是双精度(类)。
【讨论】:
以上是关于Struts 2 - Double 与科学记数法问题的主要内容,如果未能解决你的问题,请参考以下文章
Double.ToString() 何时以科学计数法返回值?
java中数值类型转换的问题,double类型显示科学计数法了。