如何在java中生成两个值之间的序列?
我有两个价值观:
firstval=200.000
Secondval=399.999,
我必须生成一个数字,当整数部分的第一个小数部分递增到999
时,下一个整数部分递增,然后小数部分重置到000
并开始为新的数字递增。这种情况一直持续到399
。
像
200.001,200.002.....200.999,201.000,201.002....399.998,399.999"
你可以在下面搜索框中键入要查询的问题!
我有两个价值观:
firstval=200.000
Secondval=399.999,
我必须生成一个数字,当整数部分的第一个小数部分递增到999
时,下一个整数部分递增,然后小数部分重置到000
并开始为新的数字递增。这种情况一直持续到399
。
像
200.001,200.002.....200.999,201.000,201.002....399.998,399.999"
# 1 楼答案
# 2 楼答案
下面是另一种方法:
在上面的示例中,在名为
counterInString
的变量中有String
格式的计数器但是您不必担心与递增实际驻留在
String
变量中的Double
相关的问题。在代码中,您可以看到增量任务是由double counter
完成的,它使用DecimalFormat
类将转换回String
在这里,将计数器保持为
String
有助于您在200.000
等数字中保留小数点后的0s
希望有帮助
# 3 楼答案
有一种很好的方法可以使用Java8流API获得所需的数组
(1)使用双增量
请注意,将大量双倍相加可能会产生一些错误,例如,在我的笔记本电脑上,序列中的最后一个数字是
399.99899999686227
(2)更好的方法是生成整数流并将其映射到double:
在这种情况下,添加多个双精度不会累积任何错误