例如:经度,120.234444 纬度:31:000000谢谢 小数点后6位。
解决方案 »
- 怎么显示出Hibernate执行的SQL语句,在哪里配置,怎么配置?在线等候
- java 项目经理 or 架构 求职
- 为什么iterator标签只显示了第一行的数据
- 关于spring getHibernateTemplate().save 的问题
- JTree放入JTabbedPane后,不能实现资源管理器
- JSF中应用TILES框架遇到的问题求解
- thinking in java 中有句话不理解 求大神举例子
- 为什么读取applicationContext.xml文件时报错
- JFreeChart里对饼图的每一部分做链接时,传汉字参数的问题
- 如果配置Tomcat5.0的SSL Session超时时间
- spring security 是肿么回事啊???求解!最好有Demo!
- weblogic8.1.6发布xfirewebservices接口提示Error creating bean with name 'xfire.typeMapp
if (str.matches("\\d{1,3}\\.\\d{6}"))
String reg = "(-|\\+)?(180.000000|(\\d{1,2}|1([0-7]\\d))\\.\\d{6})";if ("120.234444".matches(reg))
有什么问题?我测试结果是: String reg = "(-|\\+)?(180.000000|(\\d{1,2}|1([0-7]\\d))\\.\\d{6})";
System.out.println("1.000000".matches(reg)); //true
System.out.println("20.000000".matches(reg)); //true
System.out.println("-20.000000".matches(reg)); //true
System.out.println("120.234444".matches(reg)); //true
System.out.println("-180.000000".matches(reg)); //true
System.out.println("180.000000".matches(reg)); //true
System.out.println("180.000001".matches(reg)); //false
System.out.println("1.00000".matches(reg)); //false
System.out.println("1.0000000".matches(reg)); //false
我的意思是如果验证经度的范围是 -180 ~+180 输入的经度必须在这个范围内,小数点后6位。
你写的正则如果说是99.8989 false
并不是(-|\\+)?(180.000000|(\\d{1,2}|1([0-7]\\d))\\.\\d{6})
对,因为你要求小数位数要6位,所以这个肯定是 false99.898900 这个才是 true当然你可以自己调整比如:
String reg = "(-|\\+)?(180.0{4,6}|(\\d{1,2}|1([0-7]\\d))\\.\\d{4,6})";
就允许4~6位,超出或少于都错误。
(-|\\+)?(90.0{4,6}|([1-9]\\d{1}.\\d{4,6}|(\\d{1}.\\d{4,6})))
String regWD = "(-|\\+)?(90\\.0{4,6}|(\\d|[1-8]\\d)\\.\\d{4,6})";
对了,之前那个,有个地方写错了,漏了关于小数点的转义,修改下:
String regJD = "(-|\\+)?(180\\.0{4,6}|(\\d{1,2}|1([0-7]\\d))\\.\\d{4,6})";