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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0531
SqOcstrfでcnt8解決


SqOc

リンク

2015/5/31(Sun) 00:03:20|NO.69528

mes strf("%10d", composer(cnt))

これを使いたいのですが、なぜか0と表示されてしまいます。

本当は、
composer(0)=a
というかんじでになっているのでちゃんと表示されるのですが

mes ""+composer(cnt)+""

ならちゃんとできてます。



この記事に返信する


名無し

リンク

2015/5/31(Sun) 00:20:14|NO.69529

・aという変数についてですが、ちゃんと整数or実数ですか?
・もし間違って文字列だったとしても、strf関数で"%10d"と指定すると
 「 0」と、0の隣に半角スペースが9個並ぶはずです
・HSPの型変換は左から始まるので、「""+composer(cnt)+""」としなくても
 「""+composer(cnt)」の段階で既に文字列型になっています
この辺りがポイントかと思われます。



SqOc

リンク

2015/5/31(Sun) 00:28:57|NO.69530

すいませんcomposer(0)はaという変数ではなく、
aという文字列でした。
そのせいでしょうか?
どうすればいいでしょうか



名無し

リンク

2015/5/31(Sun) 04:17:58|NO.69533

逆にお聞きしますが、あなたは"a"(aという文字列)をどう表示させたいのですか?
strfの書式設定では数字しか桁揃えできないので、
例えば「文字列を右揃えしたい」場合は、予め文字列長をstrlenで読み取った後、
その分だけ右揃えになるようposでカレントポジションを調整すればいいのですが。



暇人

リンク

2015/5/31(Sun) 07:31:27|NO.69534

>aという文字列でした。
ん?
文字列を扱いたいなら%dじゃ無く%sでしょ?

composer="a","aa","aaa","aaaa","aaaaa" repeat 5 mes strf("%10s",composer(cnt)) loop



名無し

リンク

2015/5/31(Sun) 10:21:41|NO.69537

(あっ、%sの存在忘れてたわ……)



SqOc

リンク

2015/5/31(Sun) 22:10:23|NO.69572


composer="a","aa","aaa","aaaa","aaaaa" pos 10,50 font "", 23 repeat 5 mes strf("%50s",composer(cnt)) loop
みたいに、文字サイズを変えるとうまくそろわなくなってしまうのですが、
何か対処法はありますか?



名無し

リンク

2015/5/31(Sun) 22:34:36|NO.69573

たぶんフォントのせいかと思われ

composer="a","aa","aaa","aaaa","aaaaa" pos 10,50 font msgothic, 23 repeat 5 mes strf("%10s",composer(cnt)) loop



SqOc

リンク

2015/5/31(Sun) 22:56:00|NO.69574

ありがとうございます!!
解決しました!!



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