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

Frage Entwicklung PHP

GELÖST

PHP Zahlenkonvertierung mit float

Mitglied: zoro17

zoro17 (Level 1) - Jetzt verbinden

01.02.2008, aktualisiert 02.02.2008, 8712 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
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 14 StundenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit25 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Netzwerke
Packet loss bei "InternetLeitungsvollauslastung"
gelöst Frage von Freak-On-SiliconNetzwerke17 Kommentare

Servus; Ja der Titel klingt komisch, is aber so. Wenn die Internetleitung voll ausgelastet ist, hab ich extreme packet ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

Windows 10
Automatische daten kopieren, USB zu USB unter Win10 im Hintergrund
Frage von DerEisigeWindows 1016 Kommentare

Hallo Leute, ich bin auf der Suche nach einem Skript, dass von einem USB Stick automatisch nach dem einstecken ...