Domanda

I've searched for this answer but cannot find anything for VBS.

For instance:

dim num
num = 1234567890123456 'a 16 digit number
msgbox num

Working with num in any way will result in the number being displayed in scientific notation.

How can I avoid this?

È stato utile?

Soluzione

The 16 digit number is changed to a Double by VBScript because neither Int, nor Long can store that number. You can use the FormatNumber function to display it as an integer:

FormatNumber(Expression, NumDigitsAfterDecimal, IncludeLeadingDigit, UseParensForNegativeNumbers, GroupDigit)

num = 1234567890123456
msgbox FormatNumber(num, 0, -2, -2, false)

Altri suggerimenti

If you don't like the default textual representation of your number, request one explicitly.

msgbox FormatNumber(num, 2)

(reference)

This, however, has nothing to do with how the number is actually stored (as a double).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top