1
ich diesen Code bin mit dem Dezimalwert auf das nächste Vielfache von 25 dh abzurunden, wenn der Wert 33.60 ist es sollte rund um 33,50Oracle Rundung Ausgabe
create or replace
PROCEDURE "TEST1" (PQUERY IN VARCHAR2) as
prNspValue number(14,2) :='';
p_percentage_Value number(4,2) :='';
begin
prNspValue:=33.60;
dbms_output.put_line(prNspValue);
p_percentage_Value:=substr(prNspValue,instr(prNspValue,'.')+1,length(prNspValue));
dbms_output.put_line(p_percentage_value);
p_percentage_Value:=p_percentage_Value-mod(p_percentage_Value,25);
dbms_output.put_line(p_percentage_value);
if(p_percentage_Value!=0)then
prNspValue:=substr(prNspValue,1,instr(prNspValue,'.'))+p_percentage_Value/100;
else
prNspValue:=substr(prNspValue,1,instr(prNspValue,'.'));
end if;
dbms_output.put_line(prNspValue);
end;
aber das Problem ist, wenn der Wert 33,60 wird es als 33,6 genommen. also rundet es auf 33.0 ab. Wie kann ich diesen Code korrigieren?
waht jemals der Fall i runden möchten down..ie wenn seine 33.9 es 33,75 etc geben sollte .. – Andromeda
@jasim: Sie 'Boden verwenden 'statt' rund' zum abrunden (Ich habe meine Antwort aktualisiert) –