HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2008
0711
YR7177エラーが3未解決


YR7177

リンク

2008/7/11(Fri) 21:17:36|NO.17234


if score<10 : score="00000"+score if score>=10 and score<100 : score="0000"+score
とすると、エラーになるのですが、どうすればいいでしょうか?



この記事に返信する


abo

リンク

2008/7/11(Fri) 22:09:30|NO.17235

score=strf("%06d",score)




Quiet

リンク

2008/7/11(Fri) 22:25:25|NO.17236

if score<10 : score="00000"+score

の時点でscoreは文字列に換えられているので
>、<などの不等号は使えません。

間に

score=int(score)
を入れましょう。



SYAM

リンク

2008/7/11(Fri) 23:36:02|NO.17237

文字変数と、数値の変数の違いを理解しましょう。

数値は、字の並びではなく 大きさです。
大きさしか表さないので、値の大きさに関係のない0をつけたりとかはできません。

0000 …などをつけるのは、文字としての数字です。
文字には大きいも小さいもありません。ただの数字の並びです。


aboさんの方法は、数値を与えると6桁になるまで0をつけた文字を返してくれるという、おそらく一番都合のよい方法です。
自分もやるとしたらこの方法ですが、文字と数値の変数は別にすることをお勧めします。

Quietさんの方法は、…もし10未満だった場合、せっかくつけた 0 が消えます。
文字変数を別の変数にするなどした場合、今度は10未満の場合に0がたくさんくっついてきます。
gotoでジャンプするなりしましょう。



ONION software Copyright 1997-2023(c) All rights reserved.