文字列を float に変換する必要がありますが、通常のコンバーターだけが機能しません。
fi.Resolution = float.Parse(nodeC.InnerText);
fi.Resolution = (float)nodeC.InnerText;
fi.Resolution = Single.Parse(nodeC.InnerText);
そして、それらの方法の多くは機能しません。nodeC.InnerText が 0.01 の場合は 1 を返しますが、nodeC.InnerText が 5.72958e-07 の場合は 0,0575958 を返し、0.0001 も 1 を返すため、ビットシフトするわけではありません。
この標準の c# 変換が機能しない理由を知っている人はいますか?
だから私は自分の StringToFloat メソッドを書こうとしていますが、失敗します:P
public float StringToFloat(string input)
{
float output = 0;
char[] arr = input.ToCharArray();
for (int i = 0; i < input.Length - 1; i++)
{
if (arr[i].Equals("."))
output += 1;//change
else
output += Convert.ToInt32(arr[i]);
}
return output;
}