Ich habe einen Crystal-Bericht, bei dem ein numerisches Feld eine feste Länge mit einer Dezimalzahl haben muss und nicht auf- oder abgerundet werden muss. Ich änderte es in ein Textfeld, aber jetzt, wenn ich den Bericht ausführe und ich vergesse, die Optionen in Kristall für ein Zahlenfeld zu ändern, um ####. ## zu zeigen, rundet es auf den nächsten Dollar-Betrag und lässt die Cents fallen. Wie kann ich es beheben, so dass ich nicht daran denken muss, die Optionen zu ändern?Formatieren eines numerischen Felds auf eine feste Länge in Crystal-Reports-Berichten
Antwort
Ein Beispiel kann hilfreich sein -
Wenn das Feld numerisch oder dezimal ist, können Sie rechts das Feld klicken, wählen Sie „Format-Feld“, klicken Sie auf Anpassen, Zahl, und wählen Sie die Rundung und Dezimal-Logik.
Wenn Sie nicht genügend Dezimalstellen (z. B. Null Dezimalstellen) haben, dann vergewissern Sie sich, dass die Rundung nicht auf "1" eingestellt ist - dies würde zum Aufrunden der Zahl führen. Wenn die Rundung kleiner oder gleich der Nachkommastellen ist, sollte sie nur "abschneiden" und nicht runden.
danke für die Antwort :) Das Problem, das ich in läuft, ist, dass ich das Feld nehmen und es in ein Textfeld ändern muss, damit ich es zu einer bestimmten festen Länge machen kann. Gibt es eine Möglichkeit, das Feld zu formatieren und dann das formatierte Feld in meiner Formel zu verwenden, damit es die Dezimalstellen enthält? –
Absolut - werfen Sie einen Blick auf diesen Link http://stackoverflow.com/questions/14169227/crystal-report-issue-with-int-to-string-conversion - Wenn Sie eine Formel erstellen, um das numerische Feld Totext zu konvertieren, Sie kann angeben, wie viele Dezimalstellen verwendet werden sollen. 'ToText (x, y, z, w) x = Die Zahl, die in texty konvertiert werden soll = Die Anzahl der Dezimalstellen, die in result enthalten sein sollen (optional). Der Wert wird auf diese Dezimalstelle gerundet – Aron
Können Sie Beispiel zeigen ... nicht in der Lage zu verstehen – Siva
sicher .. hier ist, was ich zuerst habe.formula "totext ({Dollar.amountfield}," 000000000.00 ")" second.formula "links ({first.formula} , 9) & right ({first.formula), 2) weil in der ersten Formel das numerische Feld in Text geändert wird, behält es die Cents nicht bei, wenn ich die Optionen in meinem crystal auf keine Dezimalstellen gesetzt habe dieser Dollarbetrag muss behoben werden –
Warum benutzen Sie 'totext ({Dollar.amountfield}," 000000000.00 ")' .. Ich sehe keine Verwendung von '" 000000000.00 "' in der totext Funktion ... können Sie erklären Sie die Verwendung auch hat Ihr Betrag Feld Dezimalstellen, die Cents darstellen? und fügen Sie Nullen zu führenden oder nachher, um die Länge zu beheben und wenn Ihre Menge mehr Zeichen als erwartet haben Sie in dieser Funktion behandeln? – Siva