HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

■14068 / 親記事)  文字列への入力方法
  
□投稿者/ 桐太郎 -(2023/12/16(Sat) 10:28:57)
    桐10S使用です。
    新しく入社した会社で初めて桐を利用しており、勉強中です。
    聞くのが恥ずかしいレベルかもしれませんが、
    ヘルプや過去掲示板を見てもわからないため教えてください。

    2023年12月15日の場合
    データ型が数値なら、
    (&年-2000)*10000+(&月*100)+&日と入力すると、
    231215 になるかと思います。

    データ型が文字列の場合、23.12.15 となるようにするには、
    どのように入力すればよいか、教えてほしい。

    もっとわかりやすいデータの形式にすればというご指摘があるかと思いますが、
    新入社員のため、現在の文字列のまま、工夫して入力したく。

引用返信 [メール受信/OFF] 削除キー/
■14070 / ResNo.1)  Re[1]: 文字列への入力方法
□投稿者/ ONnoji -(2023/12/16(Sat) 11:10:42)
    2023/12/16(Sat) 11:37:26 編集(投稿者)

    > 桐10S使用です。
    >
    > 2023年12月15日の場合
    > データ型が数値なら、
    > (&年-2000)*10000+(&月*100)+&日と入力すると、
    > 231215 になるかと思います。
    >
    > データ型が文字列の場合、23.12.15 となるようにするには、
    > どのように入力すればよいか、教えてほしい。

    数値の231215を、文字列の"23.12.15"に変換するというのであれば、次のように考えると良いですよ。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    1.最初に数値型を文字列型に変換する

    2.次に出来上がった6文字の文字列の2文字ずつに切り分ける

    3.切り分けた最初の2文字"23"に点(.)を連結して、
      2番めの文字列の2文字"12"に点(.)を連結して、
       最後の2文字の文字列"15"を連結する

    具体的には、

    1.は、#str( 231215 ) ←これで文字列型に変換されます

    2.は、最初の2文字が、#sstr( "231215", 1, 2 )
        次のの2文字が、#sstr( "231215", 3, 2 )
        最後の2文字が、#sstr( "231215", 5, 2 )

    3.は、#sstr( "231215", 1, 2 ) + "." + #sstr( "231215", 3, 2 ) + "." + #sstr( "231215", 5, 2 )

        ※桐の文字列連結演算子は+記号です ご注意:&記号ではありません


    さらに具体的には、表の[数値yymmdd]という項目に6桁の数値値が格納されている場合を例にしますと、

    #sstr( #str( [数値yymmdd] ), 1, 2 ) + "." + #sstr( #str( [数値yymmdd] ), 3, 2 ) + "." + #sstr( #str( [数値yymmdd] ), 5, 2 )

    という具合です。

    なお、関数名の #str は #文字列 と同じです ※使い方はヘルプを見てね
       関数名の #sstr は #部分列 と同じです ※使い方はヘルプを見てね



引用返信 [メール受信/OFF] 削除キー/
■14071 / ResNo.2)  Re[2]: 文字列への入力方法
□投稿者/ 桐太郎 -(2023/12/16(Sat) 14:05:16)
    2023/12/16(Sat) 14:06:01 編集(投稿者)
    2023/12/16(Sat) 14:05:58 編集(投稿者)



    解決しました。早速のご回答、ありがとうございました。

    わかりづらい説明で申し訳なかったですが、
    数値の項目が格納されているわけではなかったので、
    以下としました。

    #str(&年-2000)+ "." +#str(&月)+ "." +#str(&日)



解決済み!
引用返信 [メール受信/OFF] 削除キー/
■14072 / ResNo.3)  Re[3]: 文字列への入力方法
□投稿者/ ONnoji -(2023/12/16(Sat) 15:42:19)
    > 数値の項目が格納されているわけではなかったので、
    > 以下としました。
    >
    > #str(&年-2000)+ "." +#str(&月)+ "." +#str(&日)

    これだと月が1〜9、日が1〜9の時にちょっと困るでしょうか??

    例えば、2024年1月1日だとすると、"24.1.1" になっちゃいますよ。

    なので、

    × #str(&年-2000)+ "." +#str(&月)+ "." +#str(&日)

    〇 #str(&年-2000)+ "." +#str(&月, 2 )+ "." +#str(&日, 2 )

    関数名の #str は #文字列 と同じです ※使い方はヘルプを見てね

引用返信 [メール受信/OFF] 削除キー/
■14073 / ResNo.4)  Re[4]: 文字列への入力方法
□投稿者/ 桐太郎 -(2023/12/16(Sat) 17:47:12)

    > これだと月が1〜9、日が1〜9の時にちょっと困るでしょうか??
    >
    > 例えば、2024年1月1日だとすると、"24.1.1" になっちゃいますよ。
    >

    ご指摘のとおり、困ります。
    1月になるまで気づかなかったと思います。
    大変助かりました。
    ありがとうございました。
解決済み!
引用返信 [メール受信/OFF] 削除キー/



スレッド内ページ移動 / << 0 >>

このスレッドに書きこむ

Mode/  Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -