同調実験室 - ARGIUS.net

TOP PAGE INDEX Number / 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

17:文字列(4) 変換

機能

  1. 文字列を整数に変換し、その数の2倍を再び文字列に変換
  2. 文字列を倍精度浮動小数に変換し、その数の2倍を再び文字列に変換
  3. 文字列をすべて小文字に変換
  4. 文字列をすべて大文字に変換

実行結果

$ ./test
64
3.44
abcdef
ABCDEF
$

ソース

C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
  int i, j;
  double d;
  char si[16], sd[16], string[16], lower[16], upper[16];
  
  /* 文字 => 整数 => 文字 */
  i = atoi("32");
  sprintf(si, "%d", i * 2);
  printf("%s\n", si);
  
  /* 文字 => 小数 => 文字 */
  d = atof("1.72");
  sprintf(sd, "%.2f", d * 2);
  printf("%s\n", sd);
  
  /* 大文字 => 小文字 => 大文字 */
  sprintf(string, "%s", "AbCdEf");
  for (j = 0; j <= strlen(string); j++) {
    lower[j] = tolower(string[j]);
    upper[j] = toupper(string[j]);
  }
  printf("%s\n", lower);
  printf("%s\n", upper);
  
  return 0;
}

C++

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
  // 文字 => 整数 => 文字
  int i;
  std::istringstream("32") >> i;
  std::ostringstream si;
  si << (i * 2);
  std::cout << si.str() << std::endl;
  
  // 文字 => 小数 => 文字
  double d;
  std::istringstream("1.72") >> d;
  std::ostringstream sd;
  sd << (d * 2);
  std::cout << sd.str() << std::endl;
  
  // 大文字 => 小文字 => 大文字
  const char * string = std::string("AbCdEf").c_str();
  std::ostringstream lower;
  std::ostringstream upper;
  for (int j = 0; j < strlen(string); j++) {
    lower << (char)tolower(string[j]);
    upper << (char)toupper(string[j]);
  }
  std::cout << lower.str() << std::endl;
  std::cout << upper.str() << std::endl;

  return 0;
}

Java

class Main {
    
    public static void main(String[] args) {
        
        // 文字 => 整数 => 文字
        int i = Integer.parseInt("32");
        String si = String.valueOf(i * 2);
        System.out.println(si);
        
        // 文字 => 小数 => 文字
        double d = Double.parseDouble("1.72");
        String sd = String.valueOf(d * 2);
        System.out.println(sd);
        
        // 大文字 => 小文字 => 大文字
        String string = "AbCdEf";
        String lower = string.toLowerCase();
        String upper = string.toUpperCase();
        System.out.println(lower);
        System.out.println(upper);
        
    }
    
}

Perl

# 文字 => 整数 => 文字
my $i = int("32"); # 整数を明示
my $si = $i * 2;   # 文字列を明示?
print $si, "\n";

# 文字 => 小数 => 文字
my $d = "1.72";
my $sd = $d * 2;
print $sd, "\n";

# 大文字 => 小文字 => 大文字
my $string = "AbCdEf";
my $lower = lc $string;
my $upper = uc $string;
print $lower, "\n";
print $upper, "\n";

Ruby

# 文字 => 整数 => 文字
i = "32".to_i
si = (i * 2).to_s
puts si

# 文字 => 小数 => 文字
d = "1.72".to_f
sd = (d * 2).to_s
puts sd

# 大文字 => 小文字 => 大文字
string = "AbCdEf"
lower = string.downcase
upper = string.upcase
puts lower
puts upper

最終更新日 : 2005.05.28

TOP PAGE INDEX Number / 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18