Domanda

Secondo il grafico Qui, il tipo di dati equivalente in Java a C# Decimal È BigDecimal.

È davvero così?Che succede con il "grande" preambolo?Non sembra esserci un "SmallDecimal" o "LittleDecimal" (per non parlare di "MediumSizedDecimal") in Java.

Devo dire, però, che quella tabella è stata la cosa più chiara che ho trovato sull'argomento;gli altri collegamenti Qui E Qui E Qui erano per me limpidi quanto il fiume Mississippi dopo una tempesta torrenziale.

È stato utile?

Soluzione

Sì, questo è il tipo corrispondente.

Dal momento che stai utilizzando Java dopo C#, non essere troppo sorpreso di trovare piccole sfumature come questa, o essere troppo turbato quando non esiste un modo semplice per fare qualcosa che sia "facile" per fare C#.La prima cosa che mi viene in mente è int & int?- in Java usi solo int e Integer.

C# ha avuto il lusso di seguire Java, quindi molte decisioni sbagliate (quelle che soggettivamente vedo come) sono state corrette/snellite.Inoltre, è utile il fatto che C# sia stato progettato da Andrés Hejlsberg (che è senza dubbio uno dei migliori progettisti di linguaggi di programmazione in vita) e viene regolarmente "aggiornato" a differenza di Java (probabilmente hai assistito a tutte le cose aggiunte a C# dal 2000 - elenco completo)

Altri suggerimenti

È davvero così?

Sono simili ma non identici.Per essere più specifici:la versione Java può rappresentare tutti i valori rappresentati dalla versione C#, ma non è vero il contrario.

Che succede con il "grande" preambolo?

Una Giava BigDecimal possono avere arbitrariamente molta precisione e quindi può essere arbitrariamente grande.Se vuoi fare un BigDecimal con mille punti di precisione vai avanti.

Al contrario, un C# decimal ha una dimensione fissa;occupa 128 bit e fornisce 28 cifre decimali di precisione.

Per essere più precisi:entrambi i tipi ti danno i numeri del modulo

+/- someInteger / 10 ^ someExponent

In C#, someInteger è un numero intero senza segno a 96 bit e someExponent è un numero intero compreso tra 0 e 28.

A Giava, someInteger è di dimensioni arbitrarie e someExponent è un numero intero a 32 bit con segno.

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