2013-10-25 138 views
1

我想將C++(opencv)方法轉換爲java(jaavcv)方法java等價於atof C++

我很擔心這條線。轉換是否正確?

float label=atof(entryPath.filename().c_str()); 

--> float label=Float.parseFloat(child.getName()); 
+2

是的,這一切都很好 – iluxa

+0

如果child.getName()將具有可以轉換爲浮動的字符串值,那麼這是正確的。 http://stackoverflow.com/questions/7552660/java-convert-float-to-string-and-string-to-float – HVar

+0

但是請注意,這可能會引發異常。 – Ingo

回答

1

是的,你已經上了軌道

float label = Float.parseFloat(child.getName()); 

其中child.getName()string有效浮點格式

如果你想回去

String floToStr= Float.toString(label); 

更新:

如果選中docs

這種方法parseFloat

返回初始化爲指定String表示,如Float類的valueOf方法的價值一個新的浮動。

Throws: 
NullPointerException - if the string is null 
NumberFormatException - if the string does not contain a parsable float. 
+0

是什麼意思'在有效的浮動格式'? – nawara

+1

例如:'suresh'不是一個有效的浮點值:) –

+2

有效的浮點數格式是.5,0.5,1.5,23.56233,我認爲1.4582e14所以正常的表示法,沒有前導零的表示法,如果有一個和科學記數法 – LionC

0

如果child.getName()回報以及格式的字符串(例如1.5),然後是的,這是正確的。

float label = Float.parseFloat(child.getName()); 

如果child.getName()不返回解析的浮動(例如1,5),parseFloat()將拋出NumberFormatException