Perl 字符串到数字的自动转换或铸造

Perl 字符串到数字的自动转换或铸造

Perl用不同的方式来处理运算符,因为这里的运算符定义了操作数的行为方式,而在其他编程语言中,操作数定义了运算符的行为方式。Casting指的是将某一特定变量的数据类型转换为另一种数据类型。例如,如果有一个字符串 “1234”,将其转换为int数据类型后,输出将是一个整数1234。在Perl中,将字符串转换为整数有很多方法。一种是使用 类型转换 ,另一种是使用 “sprintf “函数。有时人们在Perl中不使用转换这个词,因为整个转换过程是自动的。

类型转换Typecasting

当我们把一种数据类型的值分配给另一种数据类型时,就会发生类型转换。如果数据类型是兼容的,那么Perl就进行自动类型转换。如果不兼容,那么它们就需要明确地进行转换,这就是所谓的显式类型转换。有两种类型的转换。

  • 隐式类型转换:隐式类型转换是由编译器本身完成的。用户不需要使用任何方法来提及特定的类型转换。如果需要的话,编译器会自己确定变量的数据类型,并加以修正。在Perl中,当我们声明一个新的变量并为其赋值时,它会自动将其转换为需要的数据类型。

示例 1:

# Perl code to demonstrate implicit 
# type casting
  
# variable x is of int type
x = 57;
  
# variable y is of int typey = 13;
  
# z is an integer data type which
# will contain the sum of x and y
# implicit or automatic conversion
z =x + y;
  
print "z is{z}\n";
  
# type conversion of x and y integer to 
# string due to concatenate function
w =x.y;
  
# w is a string which has the value: 
# concatenation of string x and string y
print "w is{w}\n";

输出:

z is 70
w is 5713
  • 显式类型转换:在这种转换中,用户可以根据要求将一个变量转换为一个特定的数据类型。如果程序员希望一个特定的变量是一个特定的数据类型,就需要明确的类型转换。这对于保持代码的一致性非常重要,这样就不会有变量因为类型转换而导致错误。

例子:以下是明确的类型转换,一个字符串(或任何数据类型)被转换为指定的类型(例如int)。

# Perl code to demonstrate Explicit 
# type casting
  
# String type
string1 = "27";
  
# conversion of string to int 
# using typecasting int()num1 = int(string1);
  string2 = "13";
  
# conversion of string to int
# using typecasting int()
num2 = int(string2);
  
print "Numbers are num1 andnum2\n";
  
# applying arithmetic operators 
# on int variables 
sum =num1 + num2;
  
print"Sum of the numbers =sum\n";

输出:

Numbers are 27 and 13
Sum of the numbers = 40

sprintf函数

这个sprintf函数返回一个标量值,即一个格式化的文本字符串,它根据代码被打字。命令sprintf是一个格式化器,根本不打印任何东西。

# Perl code to demonstrate the use 
# of sprintf function
  
# string type
string1 = "25";
  
# using sprintf to convert 
# the string to integernum1 = sprintf("%d", string1);
  string2 = "13";
  
# using sprintf to convert 
# the string to integer
num2 = sprintf("%d",string2);
  
# applying arithmetic operators
# on int variables 
print "Numbers are num1 andnum2\n";
  
sum =num1 + num2;
print"Sum of the numbers =sum\n";

输出

Numbers are 25 and 13
Sum of the numbers = 38

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程