我已经在评论中提出了这个问题:
我正在尝试将 double 转换为具有固定小数位数的字符串。在上面的问题中,解决方案非常简单。使用时
String.format("%.4g", 0.1234712)
Run Code Online (Sandbox Code Playgroud)
我得到了预期的结果,一个四舍五入的数字:
0.1235
Run Code Online (Sandbox Code Playgroud)
但是当小数点后有零时:
String.format("%.4g", 0.000987654321)
Run Code Online (Sandbox Code Playgroud)
这将返回:
0,0009877
Run Code Online (Sandbox Code Playgroud)
看起来该函数忽略了数字中的前导零。
我知道我可以定义一个新的 DecimalFormat 但我想了解这个问题。并了解一些语法。
我想测量两个词之间的相似度。想法是使用OCR读取文本并检查关键字的结果。我要寻找的功能应该比较两个单词并以%返回相似度。因此,将单词与自身进行比较应该是100%相似的。我自己编写了一个函数,然后逐个字符比较char,然后返回与长度成比例的匹配数。但是问题是
wordComp('h0t',hot')
0.66
wordComp('tackoverflow','stackoverflow')
0
Run Code Online (Sandbox Code Playgroud)
但是直观的两个示例都应该具有很高的相似度> 90%。加Levenstein距离
import nltk
nltk.edit_distance('word1','word2')
Run Code Online (Sandbox Code Playgroud)
在我的函数中会将第二个结果提高到92%,但第一个结果仍然不好。
我已经找到了针对“ R”的解决方案,可以将此功能与另一种方法结合rpy2使用或agrepy用作另一种方法。但是我想通过更改接受基准来使程序变得越来越敏感(仅接受相似度> x%的匹配项)。
我还有其他可以使用的好方法吗?或者您有什么想法可以改善我的功能?