将_bstr_t转换为C ++中的float

时间:2013-09-19 14:31:02

标签: c++ bstr-t

我需要将来自DB(ADO)的_bstr_t转换为float,看看代码段:

_bstr_t valueDB = productsDB->Fields->GetItem("Value")->Value;
float referenceFloatValue = productsDB->Fields->GetItem("Value")->Value.fltVal;

我正在尝试使用.fltVal,但它不起作用(在指令之前,referenceFloatValue的值为0.0,(valueDB的值不同)。有人知道我需要做什么吗? 感谢

1 个答案:

答案 0 :(得分:0)

你可以使用 wcstod(valueDB); 但你必须先清理字符串(确保它不是null,确保它以正确的格式写入)否则你会遇到麻烦。 也许不是由你决定的,但是如果一个字段必须代表一个数字,被定义为包含一个数字,通常会更好。 看看这里:http://msdn.microsoft.com/en-us/library/kxsfc1ab.aspx