Hvordan får jeg denne metode til at afrunde?
HejsaHvordan får jeg metoden setValue i understående kode til at afrunde rigtigt? Altså således at et indput på fx 12.44888 bliver til 12.45?
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
class KommatalsRenderer extends DefaultTableCellRenderer {
private int decimaler;
private boolean farve;
public KommatalsRenderer( int decimaler, boolean farve ) {
this.decimaler = decimaler;
this.farve = farve;
setHorizontalAlignment( RIGHT );
}
public void setValue( Object tal ) {
if ( tal instanceof Double ) {
double værdi = ((Double) tal).doubleValue();
// om det er et negativt beløb og hvorvidt celleteksten skal farves.
if ( værdi <= 0)
setForeground( Color.red );
else if (værdi > 0)
setForeground(Color.black);
if(farve)
setForeground( Color.blue );
// cifre der skal skrives
String cifre = "" + værdi;
if ( cifre.indexOf( '.' ) < 0 )
cifre += ".";
while ( cifre.indexOf( '.' ) + decimaler + 1 > cifre.length() )
cifre += "0";
while ( cifre.indexOf( '.' ) + decimaler + 1 < cifre.length() )
cifre = cifre.substring( 0, cifre.length()-1 );
setText( cifre );
} else
setText( "No Double" );
}
}
Mvh
Torben
