Ich versuche, eine Nummer einer Basis aufzuteilen und dann die beiden Zahlen zu trennen, um unterschiedliche Ausgaben zu erhalten. (Denken Sie daran, ich habe gerade bearbeitet, meine Antwort ist die Lösung). Dies wird hier gelassen, damit Leute, die ein ähnliches Problem haben, eine Lösung finden können. Danke euch allen!Aufteilen der Basis einer Zahl und Trennen von Resten
Das ist also die Idee:
Wenn Zahl> = 10 & & der Basis 10
Dann geben Sie mir günstigeren Preis auf 10 Einheiten
wenn Nummer < = 0 & & nicht Basis 10
Dann fügen Sie den Rabatt für die Nummer, die 10 Einheiten darin hat und den Rest ohne den Rabatt (sagen wir 100%) die Einfachheit halber die Zahlen)
So ein praktisches Beispiel zu machen Wenn ich 25 Einheiten x bestellen (bei 1 $ pro Stück) und 15 Einheiten (bei 1 $ pro Stück) von y ist der Preis:
x 20 Einheiten = 0 $ x 5 Einheiten = $ 5 Gesamt
y 10 Einheiten = $ 0 y 5 Einheiten = $ 5 gesamt
Das ist ein bisschen schwierig ist, und das ist, was ich bisher habe:
double discountedmNI = (mNI - ((mNI/100)*10)) * mNIC;
double discountedmNIP = mNI - ((mNI/100)*10);
if(mNIC >= 10 && mNIC % 10 == 0){
System.out.println("mNI " + discountedmNIP + " " + mNIC);
System.out.println(discountedmNI);
}
else if (!mNIC % 10 == 0){
System.out.println("mNI " + mNI + mNIC);
System.out.println(mNI * mNIC);
}
Ich glaube nicht, ich definiere getrennt die 10 Einheiten richtig
Vielen Dank!
Die Negation von 'Wenn Nummer> = 10 && von Basis 10 'ist' Wenn Nummer <10 || nicht Basis 10'. –
Nun ich denke, ich sollte die Kachel ändern, es ist nicht wirklich eine Negation, aber meine Antwort ist die Antwort, ich warte nur 2 Tage, um es zu bestätigen, weil es funktioniert –
Ich gebe nicht wirklich versuchen, das Problem zu verstehen. mNI muss auch ein Double sein, da es mit Int und Division wahrscheinlich 0 werden würde. Und in Financial Software ist BigDecimal gegenüber Double vorzuziehen, da Double keine feste Genauigkeit hat und Zahlen annähert. –