我正在输出let replaceInStr = function(str, tokens, length){
let versions = []
versions.push(str)
console.log(str) // -> raybradbury la foire defiténébres
for (let i = 0; i < length; i++) {
// INTELLIGENCE WARNING!
// CONSIDER IDENIFYING THE WHOLE PART OF THE STRING THAT LOOKS
// LIKE TOKEN NOT JUST TOKEN SO YOU CAN REPLACE IT
let token = tokens[i]['token'],
suggestion = tokens[i]['suggestions'][0]['suggestion'],
regExp = new RegExp(token.trim()),
replaced = versions[0].replace(regExp, suggestion)
versions.pop()
versions.push(replaced)
};
console.log(versions[0]) // -> ray bradburyy la foire de ténébress
return versions[0]
};
个值并获得以下内容:
numpy.float32
我希望> import numpy as np
> a = np.float32(0.1)
> a, str(a), repr(a)
(0.1, '0.1', '0.1')
> '{}'.format(a)
'0.10000000149011612'
> float(a)
0.10000000149011612
返回'{}'.format(a)
。
所以我的问题是:
'0.1'
将str.format
值转换为Python numpy.float32
?float
不将str.format
值转换为Python numpy.float32
?如果这是相关的:我使用Python 3.4.5和numpy 1.10.4。
答案 0 :(得分:2)
内部python使用64位浮点数。没有办法改变这一点。与任何浮点数一样,您必须知道有多少位数是重要的。
float32
最多有8位有效数字:
print "{:.8g}".format(a)
如果你想使用numpy的字符串格式,你必须显式地转换为字符串:
print "{!s}".format(a)