Dim sng as Single = Convert.ToSingle(text)
dim text as string = "123456789.88" dim sng as single = text
Dim NbString As String = "123456789,88"
Dim NbSingle As Single
NbSingle = CSng(NbString) '123456792
NbSingle = Convert.ToSingle(NbString, New Globalization.CultureInfo("fr-FR")) '123456792
NbSingle = Single.Parse(NbString, Globalization.NumberStyles.Float) '123456792
NbSingle = Single.Parse(NbString, Globalization.NumberStyles.Number) '123456792
NbSingle = Single.Parse(NbString, Globalization.NumberStyles.Currency) '123456792
C# Type .Net Framework (System) type Signed? Bytes Occupied Possible Values
sbyte System.Sbyte Yes 1 -128 to 127
short System.Int16 Yes 2 -32768 to 32767
int System.Int32 Yes 4 -2147483648 to 2147483647
long System.Int64 Yes 8 -9223372036854775808 to 9223372036854775807
byte System.Byte No 1 0 to 255
ushort System.Uint16 No 2 0 to 65535
uint System.UInt32 No 4 0 to 4294967295
ulong System.Uint64 No 8 0 to 18446744073709551615
float System.Single Yes 4 Approximately ±1.5 x 10-45 to ±3.4 x 1038 with 7 significant figures
double System.Double Yes 8 Approximately ±5.0 x 10-324 to ±1.7 x 10308 with 15 or 16 significant figures
decimal System.Decimal Yes 12 Approximately ±1.0 x 10-28 to ±7.9 x 1028 with 28 or 29 significant figures
char System.Char N/A 2 Any Unicode character (16 bit)
bool System.Boolean N/A 1 / 2 true or false
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionEffectivemment mon exemple ne respectait pas les conventions et bonnes pratiques, mais cela ne change pas le problème :
c'est une limitation de la variable singleje ne suis pas certain que le terme limitation du type soit parfaitement approprié, moi je dirais que c’est la nature du type qui fait que seuls une quantité limité de nombres sont définis avec un type basé sur la virgule flottante, single, double, decimal etc....