繁体   English   中英

返回最后2位数字

[英]Return the last 2 digits a number

我怎样才能得到最后2位数字:

<departureDate>200912</departureDate>

对我的对象:

$year = $flightDates->departureDate->year;
// first two
$year = substr($flightDates->departureDate->year, 0, 2);
// last two
$year = substr($flightDates->departureDate->year, -2);

但鉴于您在这里解析日期这一事实,使用日期函数会更聪明。 pe strtotime()date()或甚至:

<?php
$someDate ='200912';
$dateObj = DateTime::createFromFormat('dmy', $someDate);
echo $dateObj->format('Y');
// prints "2012" .. (see date formats)

你可以将它作为字符串来解决,函数substr会自动转换它:

<?php

//$year = '200912';
$year = $flightDates->departureDate->year;

echo substr( $year, -2 );

?>

仔细看看substr函数。 如果希望结果是严格整数,那么只需在返回前添加(int)

但是,正如Jan.所说,你应该更好地将它作为一个日期:

<?php

//$year = '200912';
$year = $flightDates->departureDate->year;

$date = DateTime::createFromFormat( 'dmy', $year );

echo date( "y", $date->getTimestamp() );

?>

对于数字,您可以使用php的模数函数( http://php.net/manual/en/internals2.opcodes.mod.php ):

<?php
//$year = '200912';
$year = $flightDates->departureDate->year;

echo $year % 100;
?>

您可以使用基本的aritimethic操作,像这样......

while ( $var > 100 ) 
{
    $var = (int) $var / 10;
}

可能有一个更好的解决方案,但这个适合

示例1:您可以使用strip_tags剥离标记并使用substr

$number = '<departureDate>200912</departureDate>' ;
$year = substr(strip_tags($number), 0,2);
var_dump($year);

示例2:您还可以将simplexml_load_stringsubstr

$number = '<departureDate>200912</departureDate>' ;
$year = substr(simplexml_load_string($number),0,2);
var_dump($year);

产量

string '20' (length=2)

将其转换为字符串。 然后采取前两个元素。

在java中,您可以通过以下代码执行此操作。 设变量是一个名为x的整数。 然后你可以使用

byte[] array= Integer.toString(x).get.bytes(). 

现在array [0]和array [1]是前两位数。 array [array.length-1]和array [array.length]是最后两个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM