PHP безрисковый динамически типизирован, то есть он должен анализировать значения для определения их типов (в последних версиях PHP есть объявления типа ).
В вашем случае вы можете просто выполнить численную операцию, чтобы заставить PHP рассматривать значения как числа (и понимает научную нотацию x.yE-z
).
Попробуйте, например,
foreach (array("1.8281e-009","2.3562e-007","0.911348") as $a)
{
echo "String $a: Number: " . ($a + 1) . "\n";
}
просто добавить 1 (вы может также вычесть ноль) заставит строки стать числами с нужным количеством десятичных знаков.
Результат:
String 1.8281e-009: Number: 1.0000000018281
String 2.3562e-007: Number: 1.00000023562
String 0.911348: Number: 1.911348
Вы также можете записать результат с помощью (float)
$real = (float) "3.141592e-007";
Для любого использующего C# Xamarin, вот метод на основе отрывка Vikram:
private void SetDrawableColor(Drawable drawable, Android.Graphics.Color color)
{
switch (drawable)
{
case ShapeDrawable sd:
sd.Paint.Color = color;
break;
case GradientDrawable gd:
gd.SetColor(color);
break;
case ColorDrawable cd:
cd.Color = color;
break;
}
}