値を数値(単精度浮動小数点型)に変換します。
変換できる値の範囲は-3.402823E+38~3.402823E+38で、最大有効桁数は7です。
使用例
表記例 | 出力例 | 説明 |
---|---|---|
CSng("1000") | 1000 | |
CSng("5000") | 5000 | 全角でも変換されます |
CSng("\1,000") | 1000 | \やカンマがあっても変換されます |
CSng("1234.5") | 1234.5 | 小数を扱うこともできます |
CSng("1234.56789") | 1234.56787109375 | ただし桁数が大きいと下位の桁は不正確なものとなります |
CSng("12345678901234567890") | 1.23456793955061E+19 | 一定以上の数値は仮数部(1.23456793955061)と指数部(E+19)で表現されます 一定以上の数値になるとこのように表示を省略されるだけでなく、下位の桁は精度を欠くものとなります |
CSng("12345678901234567890")-CSng("12345678901234567889") | 0 | よって計算結果も不正確となります |
CSng("0.1234567890123456789") | 0.123456791043282 | 桁数の大きい小数の場合も一部が丸められ、下位の桁は不正確なものとなります |
CSng("0.1234567890123456789")-CSng("0.1234567890123456788") | 0 | よって計算も不正確となります |
TypeName(CSng("100")) | Single | 単精度浮動小数点型と判定されます |
CSng("1%") | (エラー) | パーセンテージは変換されずエラーとなります |
CSng("2017/09/16") | (エラー) | |
CSng(#2017/09/16#) | 42994 | 1899/12/31を1(日目)とする数値に変換されます |
書式
CSng(値)
備考
より高い精度を求めるならCDbl関数やCCur関数の利用を検討する必要があります。