【问题标题】:Format for decimal value十进制值的格式
【发布时间】:2017-06-27 02:51:00
【问题描述】:

我需要验证一个浮点变量以进行十进制格式检查。 如果该值在十进制值之前有 4 个数字(如 1234.12)打印失败,如果 (123.12) 它将通过。

【问题讨论】:

  • (""+1234.12).indexOf ('.')
  • 数字是浮动的吗?
  • @Bitz 它与#selenium 有什么关系?谢谢
  • @Bitz 它与 #xml 有什么关系?谢谢
  • 它是 1234.12 的一个例子,我的意思是如果该值由小数点前 4 个数字组成,它将失败

标签: java format decimal


【解决方案1】:

所以你说这个数字必须在小数点前包含少于 4 位数字,这意味着你应该这样做:

if(x < 1000){
   //*The number passes*
}else{
   //*The number isn't below 4 digits so it fails*
}

【讨论】:

  • 我认为这确实回答了您的问题,您不需要特殊的解析器来检查小数点前是否有 4 位数字。如果你真的想对此感到奇怪,你可以这样做if(Math.log(x) &lt; 3){ //**Pass*// }
【解决方案2】:

如何使用StringTokenizer(delim ".") 并检查String的长度?

StringTokenizer parsing = new StringTokenizer("1234.12",".");
while(parsing.hasToken()) {
    String thisToken = parsing.nextToken().toString();
    if(thisToken.length() > 3) {
        // What ever you want
    }
}

实际上,我是在手机上写的,所以我不能确定语法错误。

【讨论】:

  • 它是 1234.12 的一个例子,我的意思是如果该值由小数点前 4 个数字组成,它将失败
  • 那怎么样
  • 你能解释一下吗
  • 哦,天哪,我输入了全部内容,但突然炸毁了:(实际上我无法理解你的话“如果该值由小数点前的 4 个数字组成,它将失败”。我明白小数点后 4 个 =它会失败。这意味着这个数字不应该超过 1000。那么使用整数拳击怎么样?Integer.valueOf(thisToken).length() &gt; 1000
  • 属性值可以是234这样的整数,也可以是234.12这样的浮点数...如果值为4567或3244.12,它将失败...表示如果左边有3个以上的数字一方面它会失败。
猜你喜欢
  • 2011-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-04
  • 1970-01-01
相关资源
最近更新 更多