Как проверить, является ли число положительным или отрицательным в C#?Как проверить, является ли число положительным или отрицательным в C#?
ответ
bool positive = number > 0;
bool negative = number < 0;
num < 0 // number is negative
Я предполагаю, что это новичок, с которым мы должны попытаться помочь. Как только вы узнаете правильный путь - проверьте это по-другому. Http://thedailywtf.com/Articles/When_(n_0x3c_0)_won_0x27_t_do_0x2e_.aspx –
сначала я не мог поверить в вопрос на главной странице, затем я пришел сюда ... :) и этот парень не одинок ... о, дорогая :) – slashmais
if (num < 0) {
//negative
}
if (num > 0) {
//positive
}
if (num == 0) {
//neither positive or negative,
}
или использовать "Else если"
Ха-ха. «Либо положительный, либо отрицательный». – 2010-11-05 06:45:11
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);
}
}
Вы, молодые люди, и ваши причуды менее, чем знаки.
В свое время нам пришлось использовать Math.abs(num) != num //number is negative
!
(Если это не было очевидно, это должно было быть юмором) – Powerlord
Работает ли этот код для * всех * целых чисел со знаком ? –
@ Эрик: Нет, потому что он будет вызывать 'OverflowException', если' num' является 'MinValue' для любого типа, который передается (' Int16', 'Int32',' Int64'). Результаты еще хуже для значений с плавающей запятой, где они также могут быть «NaN», так как «NaN! = NaN». – Powerlord
Math.Sign method - один из способов. Он будет возвращать -1 для отрицательных чисел, 1 для положительных чисел и 0 для значений, равных нулю (т. Е. Нуль не имеет знака). Переменные с двойной и одиночной точностью вызовут исключение (ArithmeticException), если они равны 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
}
Для 32-разрядного целого числа, такие как System.Int32
, иначе int
в C#:
bool isNegative = (num & (1 << 31)) != 0;
Конечно, никто не на самом деле дали правильный ответ,
num != 0 // num is positive *or* negative!
ах. хахаха. взял меня на несколько минут, чтобы понять, что это правильный ответ: 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;
}
Вам просто нужно сравнить, если значение & его абсолютное значение равно: версия
if (value == Math.abs(value))
return "Positif"
else return "Negatif"
Этот метод уже покрыт http://stackoverflow.com/a/4099428/497043 –
Native программиста. Поведение корректно для малочисленных систем.
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);
}
}
Никогда не используйте это.
«Никогда не используйте это»? Но это код корпоративного качества, идеально подходящий для корпоративного программного обеспечения! Тем не менее, вы пропускаете 'IsPositiveChecker',' IsPositiveCheckerInterface', 'IsPositiveCheckerFactory' и' IsPositiveCheckerFactoryInterface'. –
Просто использовал это в моем приложении Hello World. 10/10 сделает это снова. – VSG24
Это промышленный стандарт:
int is_negative(float num)
{
char *p = (char*) malloc(20);
sprintf(p, "%f", num);
return p[0] == '-';
}
Это не C#, хотя – Episodex
https://twitter.com/MarcosBL/status/641110424193232897 –
Эй! Thats me @BrunoKim :) –
bool isNegative(int n) {
int i;
for (i = 0; i <= Int32.MaxValue; i++) {
if (n == i)
return false;
}
return true;
}
Этот код использует инструкции SIMD для повышения производительности.
public static bool IsPositive(int n)
{
var v = new Vector<int>(n);
var result = Vector.GreaterThanAll(v, Vector<int>.Zero);
return result;
}
- 1. Является отрицательным или положительным?
- 2. Проверить, является ли Integer положительным или отрицательным - Objective C
- 3. Математически проверяя, является ли число положительным, отрицательным или 0
- 4. проверить, является ли число положительным целым числом
- 5. Как проверить данное число является положительным или отрицательным в i386 ассемблере
- 6. Проверка того, является ли число положительным или отрицательным с помощью побитовых операторов
- 7. Как определить, является ли число положительным, отрицательным или нулевым без использования if или for?
- 8. Java Определяет, является ли плавающий положительным или отрицательным
- 9. функция, чтобы проверить, является ли int положительным или отрицательным с использованием побитового ops
- 10. Как проверить, является ли строка положительным целым?
- 11. Как определить, является ли шестнадцатеричное число отрицательным?
- 12. Проверка, является ли ввод числовым, или с десятичной точкой, или положительным/отрицательным
- 13. Определение, является ли число отрицательным в схеме с одной функцией
- 14. Укажите, является ли число минусом или положительным числом.
- 15. Как проверить, является ли двойное значение отрицательным или нет?
- 16. C - Как проверить, является ли число целым или плавающим?
- 17. Проверить, является ли число INT или поплавок
- 18. проверить, является ли число int или float
- 19. Определите, является ли число отрицательным (на языке URM, как язык)
- 20. проверить, является ли число простым или нет?
- 21. Bash Создайте случайное число между положительным и отрицательным
- 22. Программа C, чтобы проверить, является ли число простым или нет
- 23. C++ проверить, является ли число int/float
- 24. Как проверить, является ли число np.float64 или np.float32 или np.float16?
- 25. Как отсортировать массив по положительным или отрицательным числам
- 26. Как получить случайное значение, которое может быть положительным или отрицательным?
- 27. Как проверить, является ли целое число со знаком neg или pos?
- 28. Необходимо проверить, является ли число агрегированное число или нет
- 29. Как проверить, является ли значение поля BigDecimal отрицательным в JasperReports
- 30. Регулярное выражение, чтобы проверить, является ли строка положительным натуральным числом
Я, должно быть, очень очень устал! заставляет меня смеяться, как смешно мой вопрос был – user9969
У всех нас есть свои моменты :-) –
А как насчет бедного старого отрицательного нуля ?! –