AaleborgMedlem sedan jan. 20013 341 inlägg Frågan#1 Hur avrundar man en double till närmsta halv eller heltal?
double pengar = 235.26;
Math.Round(pengar);
ger mig 235 men jag vill ha det till 235.50 och 235.24 ska bli 235.00 osv
Kanske finns något inbyggt annars fungerar den här.
private double CurrencyRound(double dblArg)
{
double dblValue = dblArg-Math.Round(dblArg);
if(dblValue >= 0.25)
{
return (dblArg-dblValue)+0.5;
}
else if(dblValue < -0.25)
{
return (dblArg-dblValue)-0.5;
}
else
{
return Math.Round(dblArg);
}
}
DDinoMedlem sedan sep. 20011 914 inlägg Alt 2:
public static double LevelDime(double price)
{
int totalcost = (int)price;
double d = price - totalcost;
if(d < 0.25d)
return (double)totalcost;
if(d > 0.74d)
return (double)(++totalcost);
return (double)(totalcost + 0.5);
}