Rationalisierung der numerischen Ausgabe

7

Überlegen Sie:

%Vor%

Wie kann ich den Punkt loswerden, der auf die Ganzzahlen folgt?

    
500 17.09.2011, 01:17
quelle

5 Antworten

10

Wenn eine Zahl zu einer Ganzzahl wird, wenn Sie sie rationalisieren, verwenden Sie die Ganzzahl; Ansonsten bleibe bei der ursprünglichen Nummer. Dies wird durch eine einfache Funktion f[x] :

erreicht %Vor%

Testen ...

%Vor%

Sie können nicht nur Rationalize alle Werte angeben, wie im Folgenden deutlich wird:

Um zu sehen, wie es in Ihrem Fall funktioniert, fügen Sie einfach (f/@) in Ihren Code ein, um die von Range :

ausgegebenen Werte neu zu formatieren %Vor%

Also

    
DavidC 17.09.2011, 01:29
quelle
9

Obwohl die ursprüngliche Frage keine Zahlen mit Exponenten enthält, wäre es am sichersten, NumberForm wie folgt zu verwenden:

%Vor%

Dann müssen Sie nur den ursprünglichen Code ändern, indem Sie // trimPoint wie folgt einfügen:

%Vor%     
Jens 17.09.2011 23:47
quelle
6

Eine andere Möglichkeit besteht nicht darin, sie zu generieren.

%Vor%

geben

  

{0, 22.5, 45, 67.5, 90, 112.5, 135, 157.5, 180}

    
tomd 17.09.2011 08:08
quelle
5

Im Allgemeinen sollten Sie Rationalize verwenden.

%Vor%

Allerdings sollten Sie in Ihrem Fall nicht einfach Rationalize verwenden, da Sie einige der Elemente nicht bearbeiten möchten. Hier ist ein einfacher Ansatz, der tun wird, was Sie wollen.

%Vor%

Der obige Code erzeugt dieselbe Liste wie Ihre und ersetzt dann bedingt die Elemente, die eine FractionalPart entspricht 0. (zB 10. ), mit seiner IntegerPart (zB 10 ).

    
abcd 17.09.2011 01:34
quelle
4

Eine weitere Option ist das Entfernen von abschließenden "." mit StringTrim :

%Vor%     
Simon 17.09.2011 08:49
quelle

Tags und Links