数字の少数第2位まで表示させたい
PR環境です。 Skript 2.6.4
1 は 1.00
1.5 は 1.50
1.521 は 1.52
1.528 は 1.53
少数第3位を四捨五入する。
みたいなことがしたいです。
round関数の引数dはSkriptのバージョンが対応してなくって使えませんでした。
https://skripthub.net/docs/?id=2126
Skript Hub - Documentation
round (Function) - Skript
Rounds a number, i.e. returns the closest integer to the argument. Place a second argument to define the decimal placement.
Solution:Jump to solution
```
set {_parce} to "%round({_parce} * 100)%"
set {_parce::*} to split {_parce} at ""
set {_i} to length of {_parce} - 2
...
12 Replies
configにある
*100してroundしたあと/100
number accuracy であっていますか? 2に設定したら、5.67のように小数第2位まで表示されるようにはなったんですが、5.60や5.00のように末尾が0のときは省略されて5.6や5と表示されてしまいます。
わかりずらい質問ですみません。左のスクショみたいに、.00と.0を省略せずに表示させたいんです。
まーーーーー極論
*100して
自力で『.』つけるとか?
数字のまんまじゃなくて文字として処理する
1.00とか理系か?
小数点によって横幅がガクガクするのを防ぎたいんじゃない?
なーほ
そうです
⬆
×100
round()
後ろから二文字目に.を挿入
ってことやな
数値として扱いたいなら、内部用の変数は数値にして、それを元に表示用のstring生成する関数作る
Solution
後ろから?文字目っていうのが難しかったので、読みにくくなってしまったけどsplitつかってこんな感じで実現できました。ありがとうございました!