arrayを使用してdouble型の変数を代入したいのですが、
結果は、12となってしまいます。
何がいけないのでしょうか?
以下ソースです。
String^ s_str = "12.3,10.5";
array<String^>^split = s_str->Split( ',' );
array< array< double >^ >^ dbl= gcnew array< array< double >^ >( 128 );
dbl[0] = gcnew array< double >(Convert::ToDouble(split[0]));
変換がデタラメだから。
using namespace System;
double ToDouble(String^ str) {
return Convert::ToDouble(str);
}
int main() {
String^ s_str = "12.3,10.5";
array<String^>^split = s_str->Split( ',' );
array< array< double >^ >^ dbl= gcnew array< array< double >^ >( 128 );
dbl[0] = Array::ConvertAll(split, gcnew Converter<String^,double>(&ToDouble));
Console::WriteLine(L"{0} {1}", dbl[0][0], dbl[0][1]);
}
おっと、これ↓で十分か。
using namespace System;
int main() {
String^ s_str = "12.3,10.5";
array<String^>^split = s_str->Split( ',' );
array< array< double >^ >^ dbl= gcnew array< array< double >^ >( 128 );
dbl[0] = Array::ConvertAll(split, gcnew Converter<String^,double>(Convert::ToDouble));
Console::WriteLine(L"{0} {1}", dbl[0][0], dbl[0][1]);
}
επιστημηさん
ありがとうございました。
解決できました。
ここのサイトはみなさん、本当に親切で助かります。
ありがとうございました。
ツイート | ![]() |