Tyyppi | Sisältö/arvoalue |
---|---|
byte | Kokonaisluku väliltä 0 ... 255 |
sbyte | Kokonaisluku väliltä -128 ... 127 |
short | Kokonaisluku väliltä -32,768 ... 32,767 |
ushort | Kokonaisluku väliltä 0 ... 65,535 |
int | Kokonaisluku väliltä -2,147,483,648 ... 2,147,483,647 |
uint | Kokonaisluku väliltä 0 ... 4,294,967,295 |
long | Kokonaisluku väliltä -9,223,372,036,854,775,808 ... 9,223,372,036,854,775,807 |
ulong | Kokonaisluku väliltä 0 ... 18,446,744,073,709,551,615 |
float | Reaaliluku väliltä -3.402823*1038 ... 3.402823*1038 |
double | Reaaliluku väliltä -1.79769313486232*10308 ... 1.79769313486232*10308 |
decimal | Reaaliluku väliltä -79228162514264337593543950335 ... 79228162514264337593543950335 |
Desimaaliluvuista float ja double sopivat tieteelliseen laskentaan, jossa joustavampi arvoalue ja nopeus ovat tarpeen. Decimal sopii talouslaskentaan, koska siinä ei ole samanlaisia pyöristysvirheitä kuin floatissa ja doublessa. Decimal on n. 10 kertaa hitaampi käyttää kuin float ja double.
Annettaessa muuttujalle arvoa on luvun perään laitettava floatin tapauksessa f ja decimalin tapauksessa m (iso tai pieni kirjain käy)
float luku1 = 123.4f;
decimal luku2 = 123.4m;
Arvoja voi antaa myös heksa- tai eksponenttimuodossa
// heksamuoto
int luku = 0xABC;
// eksponenttimuoto
double miljoona = 1E6;
Numeerisilla tyypeillä on erityisarvot MinValue (minimiarvo) ja MaxValue (maksimiarvo). Doublella ja floatilla on lisäksi erityisarvot NaN (not a number), PositiveInfinity (positiivinen ääretön) ja NegativeInfinity (negatiivinen ääretön)
int intinMaksimi = int.MaxValue;
byte bytenMinimi = byte.MinValue;
double nan = double.NaN;
float posAareton = float.PositiveInfinity;
int kokonaisluku = 123;
// Lisätään nollia luvun eteen
// kaksoispisteen jälkeen nollia tarvittava määrä
string s1 = string.Format("{0:0000}", kokonaisluku); // "0123"
string s2 = string.Format("{0:00000}", kokonaisluku); // "00123"
// Lisätään tyhjää luvun eteen tai perään
// pilkku ja sen perään tulostuksen pituus (mukaan lukien luku)
// positiivinen luku pilkun jälkeen -> tyhjä ennen lukua
// negatiivinen luku pilkun jälkeen -> tyhjä luvun perään
string s3 = string.Format("{0,6}", kokonaisluku); // " 123"
string s4 = string.Format("{0,-4}", kokonaisluku); // "123 "
// Yhdistelmä nollia sekä tyhjää
string s5 = string.Format("{0,7:00000}", kokonaisluku); // " 00123"
string s6 = string.Format("{0,-7:0000}", kokonaisluku); // "0123 "
// Erikoismuotoilu negatiivisille luvuille ja nollalle
// ensimmäisen puolipisteen jälkeen negatiivisen luvun muotoilu
// toisen puolipisteen jälkeen nollan muotoilu
string s7 = string.Format("{0:#;miinus #}", kokonaisluku); // "123"
string s8 = string.Format("{0:#;miinus #}", -kokonaisluku); // "miinus 123"
string s9 = string.Format("{0:#;miinus #;nolla}", 0); // "nolla"
string s10 = string.Format("{0,6:#;miinus #00000}", -kokonaisluku); // "miinus 00123"
// Erikoismuotoilu
string s11 = string.Format("{0:#A#B#C}", kokonaisluku); // "1A2B3C"
string s12 = string.Format("{0:##-#}", kokonaisluku); // "12-3"
double desimaaliluku = 34.56d;
// Desimaalien määrä (pyöristää tarvittaessa)
// pisteen perään tarvittava määrä nollia
string s13 = string.Format("{0:0.0}", desimaaliluku); // "34,6"
string s14 = string.Format("{0:0.000}", desimaaliluku); // "34,560"
// Maksimimäärä desimaaleja
// ruutuja tarpeen mukaan
string s15 = string.Format("{0:0.#}", desimaaliluku); // "34,6"
string s16 = string.Format("{0:0.###}", desimaaliluku); // "34,56"
// Kokonaisosan pituus
// pisteen eteen nollia tarpeen mukaan
string s17 = string.Format("{0:00.00}", desimaaliluku); // "34,56"
string s18 = string.Format("{0:0000.0}", desimaaliluku); // "0034,6"