427 {
428 int scale = number.Scale;
429 ReadOnlySpan<byte> readOnlySpan = number.Digits;
430 int num = (number.IsNegative ? 1 : 0) + 1 + ((precision != 0) ? (precision + 1) : 0) + 2 + 3;
432 {
433 bytesWritten = 0;
434 return false;
435 }
436 int num2 = 0;
437 int num3 = 0;
438 if (number.IsNegative)
439 {
441 }
442 byte b = readOnlySpan[num3];
443 int num4;
444 if (b == 0)
445 {
447 num4 = 0;
448 }
449 else
450 {
452 num3++;
453 num4 = scale - 1;
454 }
455 if (precision > 0)
456 {
458 for (
int i = 0;
i < precision;
i++)
459 {
460 byte b2 = readOnlySpan[num3];
461 if (b2 == 0)
462 {
463 while (i++ < precision)
464 {
466 }
467 break;
468 }
470 num3++;
471 }
472 }
474 if (num4 >= 0)
475 {
477 }
478 else
479 {
481 num4 = -num4;
482 }
486 bytesWritten = num;
487 return true;
488 }