【C#・Unity】ToStringでフォーマットした整数値を読み出した際に、最後の一桁が落ちる

未分類
スポンサーリンク

問題

オンラインゲームの実装時、相手側に整数値を送信しようと思い、文字列に格納してからメッセージを送信するために以下のコードを書いたが、整数値の最後の一桁が抜け落ちてしまう(特に、負の数の場合)。

以下に疑似コードを示します。(本当はもっと複雑で、いろんな整数値を一つの文字列にまとめて格納していました。Substring を用いているのはそのため。)

解決策

フォーマットの仕様による。”D11″ と指定した場合11桁の文字列に格納するが、この桁に “-” は含まれず、文字列の長さとしては 12 となる。

詳細はこちら。

コード(修正後)

コメント