Ondalık değeri en yakın 0.05 değerine yuvarlama yolu var mı? Net?Ondalık değer en yakın 0.05 değerine nasıl yuvarlanır?
Ör:
7,125 -> 7,15
6,66 -> 6.7
ise onun kimse bana algo sağlayabilir anda mevcut?
Ondalık değeri en yakın 0.05 değerine yuvarlama yolu var mı? Net?Ondalık değer en yakın 0.05 değerine nasıl yuvarlanır?
Ör:
7,125 -> 7,15
6,66 -> 6.7
ise onun kimse bana algo sağlayabilir anda mevcut?
ne dersiniz:
Math.Ceiling(myValue * 20)/20
Math..::.Round Method (Decimal, Int32, MidpointRounding)
yuvarlar fraksiyonel basamak belirtilen sayıda çift kesinlikli kayar nokta değeri. Bir parametre, diğer iki sayı arasın ortasında ise değerin nasıl döndürüleceğini belirtir.
Math.Round(1.489,2,MidpointRounding.AwayFromZero)
MidpointRounding.AwayFromZero, YUKARI UP'a izin vermez - http://msdn.microsoft.com/en-us/library/system.midpointrounding.aspx –
bunu kullanın:
aynı mantık T-SQL kullanılabilirMath.Round(mydecimal/0.05m, 0) * 0.05m;
: doğrudan hassasiyet görebilirsiniz çünkü ben selected answer bu yaklaşım tercih
ROUND(@mydecimal/0.05, 0) * 0.05
Kullanılmış. Böyle
Math.Round Yuvarlatılmasına izin vermez –
şey sadece 0,05, herhangi bir adım için çalışması gerekir:
private decimal RoundUp (decimal value, decimal step)
{
var multiplicand = Math.Ceiling (value/step);
return step * multiplicand;
}
Mükemmel ... Teşekkürler –
predator4: O OP istediği gibi görünüyor, '6,66 ile -> 6.7' örneğin. – caf
@ predator4: Benim senaryoda doğru (Vergi hesaplama) –