Javaの文字列操作に関する質問(その2)
- Javaの文字列操作について質問があります。
- 与えられた文字列を特定の規則に従って変換する方法を知りたいです。
- 変換前の文字列を変換後の文字列へ変換する際、最上位の文字はそのままで、それより下の桁の文字は0とする方法を探しています。
- ベストアンサー
javaの文字列の操作に関する質問(その2)
下記の如く、文字列を変換するサブルーチンはどうなるでしょうか。 注)文字列の文字は10進数のみですが、小数点を含むことがあります。 変換前の文字列 変換後の文字列 "978" ---------->"900" "12" ---------->"10" "56789" ------->"50000" "7" ------------->"7" "978.0" ---------->"900" "12.9" ---------->"10" "56789.5" ------->"50000" "7.9" ------------->"7" 変換規則:最上位の文字はそのままで、それより下の桁の文字は0とする。 簡単で旨く変換できる方法はありますか? 以上、宜しくお願いします。
- bakabon_X
- お礼率23% (59/250)
- Java
- 回答数1
- ありがとう数2
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
単純にループで1文字ずつ処理していけば良いのでは? 処理のルールとしては↓の様な感じになるでしょう。 ・1文字目はそのまま出力する。 ・2文字目以降は0に変換する。 ・ただし、小数点が現れたらその前の文字までで終了する。 例) static String convert(String source) { StringBuilder result = new StringBuilder(); int sourceLength = source.length(); for (int i = 0; i < sourceLength; i++) { char ch = source.charAt(i); if (ch == '.') break; result.append(i == 0 ? ch : '0'); } return result.toString(); } ※ 入力が null になるケース、数値と小数点以外が含まれるケース、小数点が先頭になるケースなどは考慮されていません。
関連するQ&A
- 文字列変換マクロ
小数点以下5桁(B列)をC列に文字列として変換したいです。 (B列は3.62%入力で表示形式をパーセンテージの小数点以下5桁で表示) データ量が多いためVBA作成希望です。どなたか教示お願いします。
- ベストアンサー
- Excel(エクセル)
- 文字列操作(ExcelのVBAですが)
特定のExcelセル内にある文字列について、 例えば、 138.40.8.7 と入っている場合、 138.40.08.7 に、 35.9.1.6 と入っている場合、 35.09.01.6 にするVBA関数を作りたいのです。(セル関数でもかまわないですが) つまり、小数点で区切られている2番目と3番目の数字が 一桁の場合、頭に0を付けて、必ず二桁になるようにしたいわけです。 どなたか、ご教授くださいませ。 よろしくお願い致します。
- ベストアンサー
- Visual Basic
- [javascript]文字列操作いろいろ・・・。
こんばんわ・・・。 VBでは簡単にできていた文字列操作もJavaスクリプトでは・・・どうなんでしょうか・・・。 MOJIRETU = "ABCDEFG" とあるとします。 (1)文字数取得 and1 = 7 としたい。 (2)範囲指定の抜き取り ans2 に左から3番目から2桁を取りたい! ans2 = CD としたい。 (3)左の1番目から1桁取りたい ans3 = A としたい。 (4)右から1桁とりたい。 ans4 = G としたい。 以上4点です。 いずれもVBなら一発でできる内容ですが・・・。 Javaスクリプトってコマンドが少ないから困ります・・・(泣)
- ベストアンサー
- JavaScript
- 整数を1000で割り小数点つけた形の文字列に変換したい・・(例12000→12.000)
VB.NETです。 TextBoxに入力された整数(例12000)を、1000で割り、小数点第3桁まで有効にして、表示したいです。 String.Format(TextBox値, "#.000")でやろうとしていますが、“12”で表示されてしまいます。 小数点を有効した形で、文字列に変換するには、どうすればよろしいでしょうか?
- ベストアンサー
- Visual Basic
- Excel操作(数値型パーセントの表示を文字列に)
現在、セルに 10.5% と表示されている数値型データをそのまま文字列の"10.5%"に換えるにはどうしたらよいでしょうか。 今は、文字列にすると、0.105 のように小数点表示に切り替わってしまいます。
- ベストアンサー
- Excel(エクセル)
- 【Access2000】文字列の操作について
Access2000で文字列の操作について質問です。 前任者が突然退職してしまったため、やり方が分からず困っています。。。 ■文字列の操作について 姓(フリガナ)と名(フリガナ)の文字列を下記仕様に変換したいと思います。 【変換前】 姓(フリガナ) 名(フリガナ) ⇒全角カナで2つの項目に分かれている 【変換後】 姓名(フリガナ) ⇒それぞれ半角カナに変換し、1つの項目に結合する ⇒結合後のバイト長は30バイト、右詰で空白は半角スペースで埋める ■レコードのカウント処理について ・条件に合致したレコード数をカウント ・レコード数を右詰にし、前に0をつける(12バイト) Accessに詳しい方、ご返答いただけると助かります。
- ベストアンサー
- その他(データベース)
- 8桁文字列を16進数バイト配列に変換
お世話になります。 VB2005を使用しています。 温調器から温度データを引っ張るプログラムを作成しています。 8桁の文字列を16進数バイト配列に変換したいのですが、GetBytesでは10進数バイト配列に変換されてしまいます。 8桁の文字列又は10進数バイト配列を16進数バイト配列に変換する方法はないでしょうか? 文字列を1文字ずつ16進数に変換して配列に組み込んでいくしかないのでしょうか? よろしくお願い致します。
- ベストアンサー
- Visual Basic
- Excel 文字列にする関数
エクセルが苦手なので教えてください! 選別番号で6桁の数字を使っているんですが、頭の数字が0から 始まるものがあり、セルに入力するとその選別番号だけ5桁に なってしまいます。 文字列にすればいいということだけはわかっているのですが、 すでに数字が入っている列に対して、関数を使って以下のような ことはできますか? (1)選別番号が5桁だったら、頭に0をつけて6桁にする、 かつ文字列にする (2)選別番号がすでに6桁だったら、そのまま文字列に変換 宜しくお願いします!
- ベストアンサー
- オフィス系ソフト
お礼
root139 さま 丁寧、明快な回答有難うございました。