[英]modulus operator in C#
我們可以使用哪個函數來找到浮點值的模數?
某處可能有一個函數,但以下是等效且足夠簡單的:
a - b*(Math.Floor(a/b))
對於a % b
舊 C 中的math.h
具有函數fmod
。 c# 甚至允許你使用它嗎? 我不知道任何一種方式。
PS - 你確定%
操作符不起作用嗎?
Float/double從來都不是精確值,因此%
運算符將無法始終如一地工作。 改用decimal
使模數運算符對實數起作用。
decimal a, b c;
a = 32.3M;
b = 3.23M;
c = a % b; //c should be zero.
編輯
在 MSDN 上檢查避免使用類型為 float 和 double section(頁面底部)的模數運算符。
使用標准模運算符 % 有問題嗎?
double c = a%b;
float x = 5.1F;
float y = 2.3F;
float t = x % y;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.