C# と mono を使用して Android アプリを作成しています。アクティビティ (Android フォーム) の 1 つから文字列を取得し、それを double に変換する必要があります。これを行うと、非常に奇妙な結果が得られます。たとえば、以下の(未完成の)メソッドの double.parse は次のとおりです。
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
try
{
//add / edit the task
if (resultCode == Result.Ok)
{
if (m_isAddMode)
{
var tliTemplateControl = new TemplateControlTaskListItem();
tliTemplateControl.Code = data.GetStringExtra("selectedtask");
tliTemplateControl.Description = data.GetStringExtra("selecteddescription");
tliTemplateControl.RequiredQty = double.Parse(data.GetStringExtra("qty"));
m_taskList.Items.Add(tliTemplateControl);
this.ListAdapter = new TaskListAdapter(this, m_taskList.Items);
}
else
{
}
}
}
catch (Exception ex)
{
}
}
解析中のテキストが「2」の場合、-1.03054917417467E-05 を返します。これは Visual Studio 2010 で、Android 4.2.3 用の mono を使用しています。誰かアイデアはありますか?ありがとうございました。