麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C# > 正文

C# double和decimal數據類型以截斷的方式保留指定的小數位數

2020-01-24 03:41:52
字體:
來源:轉載
供稿:網友
項目中要用到以截斷的方式取小數點后兩位,故寫了以下方法:
復制代碼 代碼如下:

/// <summary>
/// 將小數值按指定的小數位數截斷
/// </summary>
/// <param name="d">要截斷的小數</param>
/// <param name="s">小數位數,s大于等于0,小于等于28</param>
/// <returns></returns>
public static decimal ToFixed(decimal d, int s)
{
decimal sp = Convert.ToDecimal(Math.Pow(10, s));

if (d < 0)
return Math.Truncate(d) + Math.Ceiling((d - Math.Truncate(d)) * sp) / sp;
else
return Math.Truncate(d) + Math.Floor((d - Math.Truncate(d)) * sp) / sp;
}

/// <summary>
/// 將雙精度浮點值按指定的小數位數截斷
/// </summary>
/// <param name="d">要截斷的雙精度浮點數</param>
/// <param name="s">小數位數,s大于等于0,小于等于15</param>
/// <returns></returns>
public static double ToFixed(double d, int s)
{
double sp = Math.Pow(10, s);

if (d < 0)
return Math.Truncate(d) + Math.Ceiling((d - Math.Truncate(d)) * sp) / sp;
else
return Math.Truncate(d) + Math.Floor((d - Math.Truncate(d)) * sp) / sp;
}

順帶提一下:
double和decimal的ToString("#.##")方法使用的是四舍五入;
靜態類System.Math下的Round(decimal d, int decimals)方法,舍入的方式使用的是“四舍六入五成雙”;
靜態類System.Math下的Round(decimal d, int decimals, MidpointRounding mode)的第三個參數是枚舉參數,指示如何處理中間值(5);
靜態類System.Math的方法:http://msdn.microsoft.com/zh-cn/library/system.math_methods(v=vs.80)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美巨乳在线观看 | 精品国产乱码久久久久久久久 | av成人免费看 | 激情小说另类 | 日本娇小18xxxⅹhd | 午夜视频在线免费播放 | 操碰网 | 毛片免费在线视频 | 欧美一级成人 | 港台三级在线观看 | 少妇一级淫片高潮流水电影 | 欧美爱爱视频免费看 | 午夜爽爽爽男女免费观看hd | 中文在线国产 | 久久一级| 激情视频导航 | 久久久成人动漫 | 男女无遮挡羞羞视频 | 巨根插入 | 成人一级视频在线观看 | 中文字幕精品在线播放 | 成人福利视频在线观看 | 蜜桃久久一区二区三区 | 一色桃子av大全在线播放 | 精品国产1区2区3区 免费国产 | 亚洲国产精品久久久久久久久久久 | 99视频在线观看视频 | 国产精品爱久久久久久久 | 国产成人综合在线视频 | 亚洲5区 | 亚洲影视在线 | 国产成人高潮免费观看精品 | 中文在线观看视频 | 免费观看一区二区三区视频 | 久久久一区二区三区精品 | 黄色片网站在线看 | 亚洲性视频 | 黄色免费小视频网站 | 日本免费一区二区三区四区 | 亚洲第一成人久久网站 | 成人在线视频免费 |