我使用这个正则表达式检查输入是否为float:
[+-]?([0-9]*[.])?[0-9]+
我可以使用相同的正则表达式来检查double吗?
答案 0 :(得分:0)
首先,你的正则表达式并不涵盖float或double的所有文本表示形式,因为它们也是科学形式,例如1.2345E15,所以你需要相应地改变你的正则表达式。
一个简短的谷歌搜索导致this answer on StackOverflow,其中更好的正则表达式被描述为[-+]?[0-9]*\\.?[0-9]+([eE][-+]?[0-9]+)?
(我还没有测试过它)。
对于你的主要问题:你不能。 float和double值将导致相同的文本输出。究竟是什么原因,为什么你需要这个?我个人尝试不使用浮动或双重,因为它的不准确性。也许你需要的是完全不同的解决方案。