• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Nachkommastellen Auslesen

INFACT

Neues Mitglied
Hi,

Ich habe eine variable, wie zum beispiel 10.30.
Ich möchte jetzt die zahlen hinter dem Komma auslesen, also 30. Wie geht das?

Edit: Oder ich schreibe mal was ich machen will:
Ich habe halt die Zeit 10.00 und da wird immer zum Beispiel eine halbe Stunde draufgerechnet:
10.30. Dann passiert aber sowas:
10.60
10.90

Deswegen möchte ich die Nachkommastellen überprüfen(10.90 => 0.90) und wenn sie mehr als 0.60 sind 1 draufzählen (11.90) und 0.60 abzählen (11.30)
 
Zuletzt bearbeitet:
Wenn du dir sicher bist, dass da ein Punkt ist:

PHP:
$value = "10.52"
$nachkomma = substr($value,strpos($value,'.'));
echo $nachkomma;
 
Gibts nicht in PHP auch ein Objekt für die Uhrzeit? Wo man dann auch einfach 30 Minuten draufrechnen kann und das Objekt selber dafür sorgt, dass der Stunden- oder Tagesübertritt richtig läuft?
 
Wenn das ganze echt wie Efchen sagte mit uhrzeit zu tun hat, dann benutze um Himmels Willen bitte nicht deine Vorgehensweise :D
Damit machst du dir nur Probleme.
Kannst du mal bitte sagen, was du mit den Zahlen vor hast, und was für informationen dir gegeben werden?
Denn vielelicht ist deine Vorbereitung schon daneben gegangen (falls es sich tatsächlich um Uhrzeiten handelt). Denn PHp bietet ganz tolle Datumsfunktionen. Unter anderem ist da der timestamp und die funktion date. :)
 
Er sagt, er rechnet eine halbe Stunde drauf.

Wenn man mit Uhrzeiten arbeitet, sollte man mit Uhrzeiten arbeiten und nicht mit Strings. So wie man Eier ja auch in einem speziellen Eierkarton transportiert und nicht in einer Plastiktüte (Igitt ;-)).
 
Er sagt, er rechnet eine halbe Stunde drauf.

Wenn man mit Uhrzeiten arbeitet, sollte man mit Uhrzeiten arbeiten und nicht mit Strings. So wie man Eier ja auch in einem speziellen Eierkarton transportiert und nicht in einer Plastiktüte (Igitt ;-)).
Ich transportier meine Eier immer so :-P *joke*
Da hab ich Depp mal wieder quergelesen und somit das mit der halben Stunde überlesen :D

Dann ist die Sache ja Klar wie Kloßbrühe! (mal wieder einen alten deutschen Spruch ins Forum hauen :D)
Hier sind dann Funktionen, die für dein Vorhaben interessant sein könnten:

PHP: strtotime - Manual
PHP: date - Manual
PHP: time - Manual

Hoffe das hilft bei deinem Vorhaben. Wenn du nicht weißt, wie du das umsetzen sollst, dann frag einfach noch mal und schildere uns woher deine Daten (z.B. 10.60) kommen. Dann können wir dir gerne weiter helfen :)
 
Hatte das nicht gelesen...

Generell würde ich dir aber davon abraten ein Datum/eine Uhrzeit anders als ein Integer (oder Float, bei microtime) zu benutzen. Mache für jede Teilzeit (Jahr, Monat, Tag, Stunde, Minute, Sekunde) eine Variable, die du dann modifizieren kannst.
 
Hatte das nicht gelesen...

Generell würde ich dir aber davon abraten ein Datum/eine Uhrzeit anders als ein Integer (oder Float, bei microtime) zu benutzen. Mache für jede Teilzeit (Jahr, Monat, Tag, Stunde, Minute, Sekunde) eine Variable, die du dann modifizieren kannst.

Nee. Auch nicht gut :D Mit timestamp und date zu arbeiten ist wesentlicher angenehmer. Ich kann mir ein Datum in einen timestamp umwandeln:
PHP:
// aktuelles Datum und Uhrzeit
$date = date("Y-m-d H:i");

// Bei Bedarf ein beliebiges Datum im Format
// Jahr-Monat-Tag Stunden:Minuten  (Stunden und Minuten sind optional)
// $date = "2009-12-31";
$timestamp = strtotime($date);

// 2 min = 120 sekunden dazurechenn
$timestamp += 120;

echo date("d.m.Y H:i", $timestamp);
 
Ich versuche eine zeit zu nummerieren:

also $add ist zum beispiel 0.5 = halbe stunde
$min_uhrzeit ist die minimale uhrzeit zb. 10.0 uhr
$max_uhrzeit ist die maximale
PHP:
$add = ($add_uhrzeit * 0.6);
 for( $i = $min_uhrzeit; $i <= $max_uhrzeit; $i += $add){
    $komma = $i;
    $komma = substr($i,strpos($i,'.') + 1);;
    echo $komma . "<br />";
    if (strlen($komma) == 2){
        if ($komma >= 60){
            $i += 1;
            $i -= $add;
        }
    }
    else{
        echo "KOMMA" . $komma;
        if ($komma >= 6){
            $i += 1;
            $i -= $add;
        }
    }
}
Aber irgentwie funktioniert das nicht. Wenn komma 6 erreicht bleibt es auch da.
Könnt ihr mir helfen?
 
Sowas?

PHP:
<?php

$start = strtotime('2000-01-01 08:00:00');
$end   = strtotime('2000-01-01 20:00:00');

// 30 Minuten
$interval = 30 * 60;

$active = $start;

do {
    echo date('H:i', $active) . '<br />';
    $active += $interval;
} while ($active <= $end);
 
Zurück
Oben