Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst PHP Zahlenkonvertierung mit float

Mitglied: zoro17

zoro17 (Level 1) - Jetzt verbinden

01.02.2008, aktualisiert 02.02.2008, 8727 Aufrufe, 5 Kommentare

Hallo zusammen,
ich habe MySQL- Datenbank-Tabellen mit Feldern vom Typ decimal und char. Lese die Inhalte per
PHP aus. Soweit kein Problem.
Die Applikation, die die Weiterverarbeitung übernimmt, verlangt zwingend ein Komma (kein
Punkt) für die Zahlenwerte. Da ich auch Texte habe, kann ich nicht einfach alle Punkte in Kommata
per PHP umwandeln.
Eine Fallunterscheidung ist bei der Anzahl von Tabellen und Feldern leider unmöglich.
Deshalb versuche ich, den Wert per PHP mit (float) umzuwandeln. Geht das gut, tausche ich
den Punkt in Komma aus. Geht die Umwandlung schief, ist es ein Text, bei dem es nichts
umzuwandeln gibt.
Nun habe ich in den decimal Feldern auch eine 0 drin, die als 0.000000 gespeichert wurde.
Die Umwandlung (float)0.000000 verhält sich leider wie ein String, d.h. ich erkenne die Zahl hier
nicht.
Kennt jemand hier eine Lösung des Problems? Bietet sich für die Typenbestimmung etwas
anderes für float an?

Leider kan ich aus Performancegründen keine umfangreiche Fallunterscheidung machen, d.h.
mit max. 2 Bedingungen sollte ich wissen, ob ich es mit einem String oder mit einer Zahl zu tun
habe.
Danke im Voraus.
Gruss
Mitglied: Guenni
01.02.2008 um 22:36 Uhr
@zoro17

Hi,

is_double(variable) gibt am Bildschirm eine 1 aus(true), wenn variable
eine Zahl ist.

doubleval(variable) wandelt eine Variable vom Typ String, die eine
Dezimalzahl darstellt, in einen Typ Dezimalzahl um.

$var="0.12"; wäre eine Variable vom Typ String.

$var=doubleval($var);

echo is_double($var); gibt auch hier true aus.

Gruß
Günni
Bitte warten ..
Mitglied: zoro17
01.02.2008 um 23:31 Uhr
Hallo Günni,
vielen Dank für Deine Antwort. Werde es ausprobieren und Rückmeldung geben.
Gruss
Bitte warten ..
Mitglied: zoro17
02.02.2008 um 12:46 Uhr
Hallo Günni,
da ich noch PHP Neuling bin (bisher nur ASP), kam ich dank Deiner Hilfe zu den Funktionen, die
mir helfen. Ich glaube, is_numeric ist das, was ich brauche oder?
Hatte damit Erfolg.
Gruss
Bitte warten ..
Mitglied: Guenni
02.02.2008 um 19:04 Uhr
@zoro17

Hi,

Ich glaube, is_numeric ist das, was ich brauche oder?

$var="0.15"; // <-- Stringvariable

if(is_numeric($var)){
echo "JA";
}

Da bei diesem Beispiel ein JA ausgegeben wird, könnte es
auch das sein, was du brauchst.

Da ich aber letztendlich deine Tabellendefinition nicht kenne und
auch nicht deinen Abfrageterm, kann ich hier nur mutmaßen.

Probier's einfach aus, wenn es nicht geht, poste mal mehr Info.

Ach ja, was ich noch sagen(schreiben) wollte:

Eine Null im Format 0.000000 kann ich in meiner Datenbank nicht
ablegen. Da steht immer nur 0. Vielleicht kannst du mir sagen, wie du das
gemacht hast

Gruß
Günni
Bitte warten ..
Mitglied: zoro17
02.02.2008 um 21:22 Uhr
Hallo Günni,
zum Hintergrund meiner Frage:
Meine Applikation ist in MS Excel bzw. in Staroffice Calc integriert.
Diese Applikation setzt http Befehle (i.a SQL Befehle) ab.
Das Backoffice (Webdatenbank mit ASP bzw. PHP) antwortet mit html.
Bei einer Select-Anweisung kommt eine große html-Tabelle zurück,
die die Office Pakete clientseitig in ihre Zellen laden und weiterverarbeiten können.
Ist eine reelle Zahl in der Webdatenbank (z.b. 12.34), dann schmeißen
die Office Pakete das Komma weg. Kommt jedoch 12,34 an, klappts an.

Das serverseitige PHP Programm, das den Select entgegennimmt, behandelt
jedes Datenbankfeld gleich, egal ob string, int, float, datum...
Seine Aufgabe ist nur das Auflisten in Tabellenform.

Zu Deiner Frage: ich erweitere gerade serverseitig von SQL Server/
Windows zu MySql/Windows bzw. Linux. Um den SQL Server zu kopieren, habe ich
ein Programm geschrieben, das per SQL die MySQL Datenbank
aufbaut und füllt. Das Feld ist in MySQLwie im SQL Server als dec 15,6 definiert
und wird per SQL mit dem Wert 0.000000 gefüllt. So kommt die Zahl in MySQL.

Gruss
Bitte warten ..
Ähnliche Inhalte
PHP
PHP und XML Float und Double
gelöst Frage von chrisenPHP2 Kommentare

Hallo zusammen, ich habe ein Problem mit der Erstellung von XML Dateien mit PHP: Und zwar gibt das erstellte ...

PHP
PHP statements mit PHp erzeugen
gelöst Frage von LorderichPHP4 Kommentare

Hallo zusammen, ich habe eine Datei, in welcher per switch und case die Webseiten definiert werden, welche bei Aufruf ...

PHP

PHP - Variable in anderes PHP-Skript mitgeben

gelöst Frage von Jens4everPHP3 Kommentare

Hi zusammen, könnt ihr mir kurz helfen? Ich habe folgendes vor: Ich möchte, dass beim Aufruf von "check1.php" eine ...

PHP

PHP 5.3 nach PHP 5.6 portieren

Frage von nippon-tussiPHP5 Kommentare

Ich habe hier ein altes Projekt, das seit Jahren unter php 5.3 auf einem shared host bei all-inkl läuft. ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 23 StundenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 1 TagSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 2 TagenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit18 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk13 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...