Floating point 如何在Bazel中模拟float/double/real?
Bazel(0.26.0)不支持浮动类型,如您所知 但是,我想计算一些神奇的(浮点)数字,并将它们存储在Floating point 如何在Bazel中模拟float/double/real?,floating-point,bazel,Floating Point,Bazel,Bazel(0.26.0)不支持浮动类型,如您所知 但是,我想计算一些神奇的(浮点)数字,并将它们存储在字符串中,如下所示: def magicNumber(): fileStr = "" count = 200 for i in range(0, count-1): v = i / count fileStr += str(v) + " " return fileStr 我想使用Bazel特有的特性来实现这一点。我很清楚,我也
字符串中,如下所示:
def magicNumber():
fileStr = ""
count = 200
for i in range(0, count-1):
v = i / count
fileStr += str(v) + " "
return fileStr
我想使用Bazel特有的特性来实现这一点。我很清楚,我也可以将我的计算放在批处理/shell脚本中,但我希望只使用Bazel特性。有什么办法可以做到这一点吗 不清楚你为什么要这么做。整数通常足够了
如果您想要的是序列“0.0 0.005 0.01 0.015 0.02…0.995”,您可以这样做:
def magic():
fileStr=“”
对于范围(0、1000、5)内的i:
s=((“000”+str(i))[-3:]#添加前导0
fileStr+=“0.{}”。格式(s.rstrip('0'))
返回文件
由于字符串是不可变的,因此字符串上的+=
将复制它。对于性能(二次复杂度),不建议在循环中这样做。相反,您可以将数据附加到数组中,并在最后加入它。结果相同,只是没有尾随空格:
def magic():
数据=[]
对于范围(0、1000、5)内的i:
s=(“000”+str(i))[-3:]
data.append(“0.”+s.rstrip('0'))
返回“”连接(数据)
不清楚您为什么要这样做。整数通常足够了
如果您想要的是序列“0.0 0.005 0.01 0.015 0.02…0.995”,您可以这样做:
def magic():
fileStr=“”
对于范围(0、1000、5)内的i:
s=((“000”+str(i))[-3:]#添加前导0
fileStr+=“0.{}”。格式(s.rstrip('0'))
返回文件
由于字符串是不可变的,因此字符串上的+=
将复制它。对于性能(二次复杂度),不建议在循环中这样做。相反,您可以将数据附加到数组中,并在最后加入它。结果相同,只是没有尾随空格:
def magic():
数据=[]
对于范围(0、1000、5)内的i:
s=(“000”+str(i))[-3:]
data.append(“0.”+s.rstrip('0'))
返回“”连接(数据)