Come si verifica se un numero è positivo o negativo in C#?Come posso verificare se un numero è positivo o negativo in C#?
risposta
bool positive = number > 0;
bool negative = number < 0;
num < 0 // number is negative
Suppongo che questo sia un principiante, che dovremmo cercare di aiutare. Una volta che hai imparato la strada giusta, verifica questo in modo errato http://thedailywtf.com/Articles/When_(n_0x3c_0)_won_0x27_t_do_0x2e_.aspx –
all'inizio non potevo credere alla domanda nella pagina principale, poi sono venuto qui ... :) e questo ragazzo non è solo ... oh caro :) – slashmais
if (num < 0) {
//negative
}
if (num > 0) {
//positive
}
if (num == 0) {
//neither positive or negative,
}
o utilizzare "altro se"
Haha. "O positivo o negativo". –
Overkill!
public static class AwesomeExtensions
{
public static bool IsPositive(this int number)
{
return number > 0;
}
public static bool IsNegative(this int number)
{
return number < 0;
}
public static bool IsZero(this int number)
{
return number == 0;
}
public static bool IsAwesome(this int number)
{
return IsNegative(number) && IsPositive(number) && IsZero(number);
}
}
Voi giovani e i vostri segni di fantasia.
Nel mio giorno abbiamo dovuto usare Math.abs(num) != num //number is negative
!
(Se non era ovvio, questo era inteso per essere umoristico) – Powerlord
Questo codice funziona per * tutti * interi con segno ? –
@Eric: No, perché getterà un 'OverflowException' se' num' è 'MinValue' per qualunque tipo venga passato (' Int16', 'Int32',' Int64'). I risultati sono anche peggiori per i valori in virgola mobile, dove potrebbero anche essere 'NaN', dal momento che' NaN! = NaN'. – Powerlord
Il Math.Sign method è un modo per andare. Restituirà -1 per i numeri negativi, 1 per i numeri positivi e 0 per i valori pari a zero (vale a dire zero non ha alcun segno). Le variabili di precisione doppie e singole causeranno un'eccezione (ArithmeticException) da lanciare se sono uguali a NaN.
int j = num * -1;
if (j - num == j)
{
// Num is equal to zero
}
else if (j < i)
{
// Num is positive
}
else if (j > i)
{
// Num is negative
}
Per un intero con segno a 32 bit, come ad esempio System.Int32
, alias int
in C#:
bool isNegative = (num & (1 << 31)) != 0;
Naturalmente nessuno è in realtà dato la risposta corretta,
num != 0 // num is positive *or* negative!
ah. Hahaha. mi ci sono voluti alcuni minuti per capire che questa è la risposta corretta: D – VOX
public static bool IsPositive<T>(T value)
where T : struct, IComparable<T>
{
return value.CompareTo(default(T)) > 0;
}
public static bool IsNegative<T>(T value)
where T : struct, IComparable<T>
{
return value.CompareTo(default(T)) < 0;
}
Devi solo confrontare se il valore & suo valore assoluto sono uguali: versione
if (value == Math.abs(value))
return "Positif"
else return "Negatif"
Questa tecnica è già coperta da http://stackoverflow.com/a/4099428/497043 –
nativa del programmatore. Il comportamento è corretto per i sistemi little-endian.
bool IsPositive(int number)
{
bool result = false;
IntPtr memory = IntPtr.Zero;
try
{
memory = Marshal.AllocHGlobal(4);
if (memory == IntPtr.Zero)
throw new OutOfMemoryException();
Marshal.WriteInt32(memory, number);
result = Marshal.ReadByte(memory, 3) & 0x80 == 0;
}
finally
{
if (memory != IntPtr.Zero)
Marshal.FreeHGlobal(memory);
}
}
Non usarlo mai.
"Non usarlo mai"? Ma è un codice di qualità aziendale, perfetto per i software aziendali! Mancano 'IsPositiveChecker',' IsPositiveCheckerInterface', 'IsPositiveCheckerFactory' e' IsPositiveCheckerFactoryInterface', comunque. –
Utilizzato solo questo nella mia app della console Hello World. 10/10 lo farei di nuovo. – VSG24
Questo è lo standard del settore:
int is_negative(float num)
{
char *p = (char*) malloc(20);
sprintf(p, "%f", num);
return p[0] == '-';
}
Questo non è C# anche se – Episodex
https://twitter.com/MarcosBL/status/641110424193232897 –
Ehi! Questo è @BrunoKim :) –
bool isNegative(int n) {
int i;
for (i = 0; i <= Int32.MaxValue; i++) {
if (n == i)
return false;
}
return true;
}
Questo codice sfrutta le istruzioni SIMD per migliorare le prestazioni.
public static bool IsPositive(int n)
{
var v = new Vector<int>(n);
var result = Vector.GreaterThanAll(v, Vector<int>.Zero);
return result;
}
- 1. Controllare se un numero è positivo o negativo utilizzando operatori bit a bit
- 2. Come posso verificare se un intero con segno è positivo?
- 3. Numero casuale positivo o negativo JavaScript
- 4. Convertire un numero positivo a negativo in C#
- 5. Converti numero negativo in numero positivo in template django?
- 6. come cambiare un numero positivo in negativo e viceversa?
- 7. Come si converte un numero positivo in negativo?
- 8. Posso usare NLTK per determinare se un commento è positivo o negativo?
- 9. Come posso verificare se un valore è un numero?
- 10. Convertire un numero negativo in uno positivo in JavaScript
- 11. Come verificare se un numero intero con segno è neg o pos?
- 12. Ruby: modifica il numero negativo in numero positivo?
- 13. Come verificare se un float è un numero vero in C++?
- 14. Come posso verificare se un carattere è una lettera o un numero?
- 15. Recupera un angolo positivo o negativo da 3 punti
- 16. Come posso verificare se un file è o meno un'immagine?
- 17. numero Parse con prefisso positivo/negativo stringa java
- 18. Come verificare se il numero è NaN
- 19. positivo convalida numero in jQuery
- 20. Cambia colore del testo in base al numero intero positivo o negativo
- 21. Verificare se un numero float contiene o meno decimali
- 22. Twig - Come verificare se la variabile è un numero/intero
- 23. Come verificare se un doppio è un numero intero
- 24. Come posso verificare se un JSON è vuoto in NodeJS?
- 25. Come verificare se un file è già aperto in C
- 26. Come rilevare se un dato numero è un numero intero?
- 27. Come posso verificare se un socket è ancora aperto?
- 28. Come verificare se un tipo è una stringa in C#?
- 29. Come verificare se è installato un servizio Windows in C#
- 30. Verificare se la funzione è in C o Lua implementata
Devo essere molto, molto, molto stanco! Mi fa ridere come ridicolo la mia domanda era – user9969
Abbiamo tutti i nostri momenti :-) –
E il povero vecchio zero negativo ?! –