挡板(0.26.0)不支持浮点类型,因为您可以阅读here。
但是,我想计算一些神奇的(浮点数)数字,将它们存储在string
中,如下所示:
def magicNumber():
fileStr = ""
count = 200
for i in range(0, count-1):
v = i / count
fileStr += str(v) + " "
return fileStr
我想使用仅Bazel功能来实现这一目标。对我来说很明显,我也可以将计算例如放在批处理/ shell脚本中,但我希望坚持使用仅Bazel的功能。任何想法如何实现这一目标?
答案 0 :(得分:2)
目前尚不清楚为什么要这么做。整数通常应该足够。
如果您想要的是序列“ 0.0 0.005 0.01 0.015 0.02 ... 0.995”,则可以这样操作:
def magic():
fileStr = ""
for i in range(0, 1000, 5):
s = ("000" + str(i))[-3:] # Add leading 0s
fileStr += "0.{} ".format(s.rstrip('0'))
return fileStr
由于字符串不可更改,因此字符串上的+=
将对其进行复制。为了提高性能(二次复杂度),建议不要循环执行此操作。相反,您可以将数据追加到数组并在最后加入。结果相同,除了没有尾随空格:
def magic():
data = []
for i in range(0, 1000, 5):
s = ("000" + str(i))[-3:]
data.append("0." + s.rstrip('0'))
return " ".join(data)