.net 将双值转换为单值,意外结果
我使用的方法要求单个值指定一个百分比,例如,0.8F表示80%,0.921F表示92,1%,但为了使代码更具可读性,我建议改为发送一个双值,例如,如果我发送一个80.0R的值,它应该表示80%,它应该转换为0.8F,80.5R的值应该表示80,5%,如果我的计算结果良好,应该转换为0.805F,100.0R的值应该转换为1.0F 我的问题是,当我尝试将双精度值(例如80.0R)转换为单精度值时,我得到了一个错误的转换,在这种情况下,我得到了80.0F,但应该是0.8F 我做错了什么 方法如下:.net 将双值转换为单值,意外结果,.net,vb.net,math,numbers,double,.net,Vb.net,Math,Numbers,Double,我使用的方法要求单个值指定一个百分比,例如,0.8F表示80%,0.921F表示92,1%,但为了使代码更具可读性,我建议改为发送一个双值,例如,如果我发送一个80.0R的值,它应该表示80%,它应该转换为0.8F,80.5R的值应该表示80,5%,如果我的计算结果良好,应该转换为0.805F,100.0R的值应该转换为1.0F 我的问题是,当我尝试将双精度值(例如80.0R)转换为单精度值时,我得到了一个错误的转换,在这种情况下,我得到了80.0F,但应该是0.8F 我做错了什么 方法如下:
Private Function FindImage(ByVal BaseImage As Bitmap,
ByVal ImageToFind As Bitmap,
ByVal Similarity As Double) As AForge.Imaging.TemplateMatch()
Dim SingleSimilarity As Single
' Translate the readable similarity percent value to Single value.
Select Case Similarity
Case Is < 0.1R, Is > 100.0R ' Value is out of range.
Throw New Exception(String.Format("Similarity value of '{0}' is out of range, range is from '0.1' to '100.0'",
CStr(Similarity)))
Case Is = 100.0R ' Identical image comparission.
SingleSimilarity = 1.0F
Case Else ' Image with similarity comparission.
SingleSimilarity = Convert.ToSingle(...) ' Here goes bad.
End Select
...
' This only accepts a Single value:
Dim tm As New AForge.Imaging.ExhaustiveTemplateMatching(SingleSimilarity)
...
End Function
Convert.ToSingle只需将您的数字从原来的双精度转换为单精度。它不会对值进行任何修改。所以80.5R变为80.5F——值不变
您将需要实际编写从百分比转换的转换-如下所示:
Case Else
SingleSimilarity = Convert.ToSingle(Similarity) / 100.0F
Convert.ToSingle只需将您的数字从原来的双精度转换为单精度。它不会对值进行任何修改。所以80.5R变为80.5F——值不变
您将需要实际编写从百分比转换的转换-如下所示:
Case Else
SingleSimilarity = Convert.ToSingle(Similarity) / 100.0F
Convert.ToSingle只需将您的数字从原来的双精度转换为单精度。它不会对值进行任何修改。所以80.5R变为80.5F——值不变
您将需要实际编写从百分比转换的转换-如下所示:
Case Else
SingleSimilarity = Convert.ToSingle(Similarity) / 100.0F
Convert.ToSingle只需将您的数字从原来的双精度转换为单精度。它不会对值进行任何修改。所以80.5R变为80.5F——值不变
您将需要实际编写从百分比转换的转换-如下所示:
Case Else
SingleSimilarity = Convert.ToSingle(Similarity) / 100.0F
这是我见过的最简单的代码
SingleSimilarity = single.parse(Similarity) / 100.0F
这是我见过的最简单的代码
SingleSimilarity = single.parse(Similarity) / 100.0F
这是我见过的最简单的代码
SingleSimilarity = single.parse(Similarity) / 100.0F
这是我见过的最简单的代码
SingleSimilarity = single.parse(Similarity) / 100.0F
你是说你需要什么样的细节@SGG???@SGG你想要什么样的细节?你是说你需要什么样的细节@SGG???@SGG你想要什么样的细节?你是说你需要什么样的细节@SGG???@SGG你想要什么样的细节?你是说你需要什么样的细节@SGG???@SGG你想要什么样的细节?