Làm cách nào để kiểm tra xem một số dương hay âm trong C#?Làm cách nào để kiểm tra xem một số dương hay âm trong C#?
Trả lời
bool positive = number > 0;
bool negative = number < 0;
num < 0 // number is negative
Tôi cho rằng đây là người mới bắt đầu, chúng tôi nên cố gắng trợ giúp. Khi bạn tìm hiểu đúng cách - hãy kiểm tra điều này theo cách không đúng http://thedailywtf.com/Articles/When_(n_0x3c_0)_won_0x27_t_do_0x2e_.aspx –
lúc đầu tôi không thể tin được câu hỏi trên trang chính, sau đó tôi đến đây ... :) và anh chàng này không phải là một mình ... oh thân yêu :) – slashmais
if (num < 0) {
//negative
}
if (num > 0) {
//positive
}
if (num == 0) {
//neither positive or negative,
}
hoặc sử dụng "khác nếu"
Haha. "Tích cực hoặc tiêu cực". –
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);
}
}
Bạn trẻ và các dấu hiệu nhỏ hơn lạ mắt của bạn.
Quay lại ngày của tôi, chúng tôi phải sử dụng Math.abs(num) != num //number is negative
!
(Nếu không rõ ràng, điều này có ý nghĩa hài hước) – Powerlord
Mã này có hoạt động cho * tất cả * số nguyên đã ký không ? –
@Eric: Không, bởi vì nó sẽ ném một 'OverflowException' nếu' num' là 'MinValue' cho bất kỳ loại nào được truyền vào trong (' Int16', 'Int32',' Int64'). Kết quả thậm chí còn tồi tệ hơn cho các giá trị dấu chấm động, trong đó chúng cũng có thể là 'NaN', vì' NaN! = NaN'. – Powerlord
Math.Sign method là một cách để thực hiện. Nó sẽ trả về -1 cho các số âm, 1 cho số dương và 0 cho các giá trị bằng 0 (nghĩa là không có dấu). Biến số chính xác đôi và đơn sẽ gây ra một ngoại lệ (ArithmeticException) để được ném nếu chúng bằng 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
}
Đối với một số nguyên ký 32-bit, chẳng hạn như System.Int32
, aka int
trong C#:
bool isNegative = (num & (1 << 31)) != 0;
Tất nhiên không ai thực sự cho câu trả lời đúng,
num != 0 // num is positive *or* negative!
ah. hahaha. đã cho tôi một vài phút để nhận ra đây là câu trả lời đúng: 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;
}
Bạn chỉ cần so sánh nếu giá trị & giá trị tuyệt đối của nó bằng nhau:
if (value == Math.abs(value))
return "Positif"
else return "Negatif"
Kỹ thuật này đã được bao gồm bởi http://stackoverflow.com/a/4099428/497043 –
Phiên bản của lập trình viên gốc. Hành vi là chính xác cho các hệ thống nhỏ.
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);
}
}
Không bao giờ sử dụng tính năng này.
"Không bao giờ sử dụng điều này"? Nhưng đó là mã chất lượng doanh nghiệp, hoàn hảo cho phần mềm doanh nghiệp! Tuy nhiên, bạn thiếu 'IsPositiveChecker',' IsPositiveCheckerInterface', 'IsPositiveCheckerFactory' và' IsPositiveCheckerFactoryInterface'. –
Chỉ cần sử dụng điều này trong ứng dụng giao diện điều khiển Hello World của tôi. 10/10 sẽ làm điều đó một lần nữa. – VSG24
Đây là tiêu chuẩn công nghiệp:
int is_negative(float num)
{
char *p = (char*) malloc(20);
sprintf(p, "%f", num);
return p[0] == '-';
}
Đây không phải là C# mặc dù – Episodex
https://twitter.com/MarcosBL/status/641110424193232897 –
Hey! Thats me @BrunoKim :) –
bool isNegative(int n) {
int i;
for (i = 0; i <= Int32.MaxValue; i++) {
if (n == i)
return false;
}
return true;
}
Mã này mất lợi thế của các chỉ lệnh SIMD để cải thiện hiệu suất.
public static bool IsPositive(int n)
{
var v = new Vector<int>(n);
var result = Vector.GreaterThanAll(v, Vector<int>.Zero);
return result;
}
- 1. Kiểm tra xem một số có dương hay âm bằng cách sử dụng toán tử bitwise
- 2. Kiểm tra xem số nguyên là dương hay âm - Mục tiêu C
- 3. Chuyển đổi một số dương sang âm trong C#
- 4. Thuật toán để kiểm tra xem hàm phi tuyến f có luôn là dương hay không
- 5. Cách ngắn nhất để kiểm tra xem biến có chứa số nguyên dương bằng PHP không?
- 6. Làm cách nào để kiểm tra xem một trường có tồn tại hay không trong MongoDB?
- 7. Làm thế nào để kiểm tra xem một char có chữ số hay không trong Objective-C?
- 8. Làm cách nào để chuyển đổi một số dương sang âm?
- 9. Làm cách nào để tách số dương và số âm thành cột riêng của chúng?
- 10. Làm cách nào để kiểm tra xem một lớp groovy có thuộc tính tĩnh hay không?
- 11. Làm cách nào để kiểm tra xem một int không rỗng hay rỗng?
- 12. Làm cách nào để kiểm tra xem Textarea có trống trong Javascript hay Jquery không?
- 13. Làm cách nào để kiểm tra xem chuỗi có tồn tại hay không trong Oracle 11g?
- 14. Cách kiểm tra xem hai ngày không có trong cùng ngày dương lịch
- 15. Làm cách nào để kiểm tra xem từ đã cho ở dạng số nhiều hay số ít?
- 16. Làm cách nào để kiểm tra xem liệu stdin có một số dữ liệu?
- 17. Làm thế nào để kiểm tra xem một id email có tồn tại hay không?
- 18. Trong C#, làm thế nào để bạn kiểm tra xem một đường dẫn là ảo hay không?
- 19. C++ Kiểm tra số nguyên.
- 20. Cách để nhanh chóng kiểm tra xem chuỗi là XML hay JSON trong C#
- 21. Làm cách nào để kiểm tra xem tài nguyên được nhúng có tồn tại hay không?
- 22. Trong C#, cách kiểm tra xem chuỗi có chứa số nguyên không?
- 23. Làm cách nào để kiểm tra xem một dll COM được đăng ký trong C#
- 24. Sử dụng giải mã để kiểm tra các giá trị âm và dương
- 25. Làm thế nào để kiểm tra xem một hoạt động đang chạy hay không
- 26. làm thế nào để tạo ra các số dương và âm trong Java
- 27. Làm cách nào để kiểm tra xem điện thoại Android có đang sạc hay không
- 28. Làm cách nào để kiểm tra xem hàng có tồn tại hay không?
- 29. Làm cách nào để kiểm tra xem một Đoạn có nằm trong Bảng hay không trong macro MS-Word?
- 30. Làm cách nào để kiểm tra xem chuỗi có chứa ký tự trong C#?
Tôi phải rất rất rất mệt mỏi! làm cho tôi cười như thế nào vô lý câu hỏi của tôi là – user9969
Chúng ta đều có những khoảnh khắc của chúng tôi :-) –
Điều gì về người nghèo tiêu cực cũ không?! –