257 {
258 int num = 8;
259 long num2 =
value.Ticks;
260 uint valueWithoutTrailingZeros;
261 ulong num3;
262 if (num2 < 0)
263 {
264 num = 9;
265 num2 = -num2;
266 if (num2 < 0)
267 {
268 valueWithoutTrailingZeros = 4775808u;
269 num3 = 922337203685uL;
270 goto IL_0050;
271 }
272 }
273 (ulong Quotient, ulong Remainder) tuple = Math.DivRem((ulong)num2, 10000000uL);
274 num3 = tuple.Quotient;
275 ulong
item = tuple.Remainder;
276 valueWithoutTrailingZeros = (uint)
item;
277 goto IL_0050;
278 IL_0050:
279 int num4 = 0;
281 {
283 if (valueWithoutTrailingZeros != 0)
284 {
285 num4 = 7;
286 num += num4 + 1;
287 }
288 break;
290 num4 = 7;
291 num += num4 + 1;
292 break;
293 default:
294 if (valueWithoutTrailingZeros != 0)
295 {
297 num += num4 + 1;
298 }
299 break;
300 }
301 ulong num5 = 0uL;
302 ulong num6 = 0uL;
303 if (num3 != 0)
304 {
305 (num5, num6) = Math.DivRem(num3, 60uL);
306 }
307 ulong num7 = 0uL;
308 ulong num8 = 0uL;
309 if (num5 != 0)
310 {
311 (num7, num8) = Math.DivRem(num5, 60uL);
312 }
313 uint num9 = 0u;
314 uint num10 = 0u;
315 if (num7 != 0)
316 {
317 (num9, num10) = Math.DivRem((uint)num7, 24u);
318 }
319 int num11 = 2;
321 {
322 num11 = 1;
323 num--;
324 }
325 int num12 = 0;
326 if (num9 != 0)
327 {
329 num += num12 + 1;
330 }
332 {
333 num += 2;
334 num12 = 1;
335 }
337 {
338 charsWritten = 0;
339 return false;
340 }
341 int num13 = 0;
343 {
345 }
346 if (num12 != 0)
347 {
349 num13 += num12;
351 }
352 if (num11 == 2)
353 {
355 num13 += 2;
356 }
357 else
358 {
360 }
363 num13 += 2;
366 num13 += 2;
367 if (num4 != 0)
368 {
370 {
372 }
373 else if (decimalSeparator.Length == 1)
374 {
376 }
377 else
378 {
380 num13 += decimalSeparator.Length;
381 }
383 num13 += num4;
384 }
385 charsWritten = num;
386 return true;
387 }
static int CountDigits(ulong value)
static int CountDecimalTrailingZeros(uint value, out uint valueWithoutTrailingZeros)